Adresář vendor, jak jej správně použít?
- Webster.K
- Člen | 212
Zdravím všechny, chtěl bych se zeptat, jak přesně funguje adresař vendor v sandboxu nette. Vím že do toho adresáře musím věci instalovat pres composer, nicméně jak je to třeba se šablonama? Mám totiž jednu starší šablonu a ta obsahuje soubor package.json, jak jí tam dostanu? Klasické překopírování asi vhodné není předpokládám. Navíc používám bootstrap a přišel už jsem na to jak pres composer stahnout bootstrap, takže se mi tam vytvořila s ním složka, ale jak dokážu do dokumentu, ideálně do základní šablony @layout vložit CSS/JS z této složky? používám to teď totiž tak, že v souboru šablony mám v hlavičce:
<script src="{$basePath}/js/main.js"></script>
což mi otevře soubor v ve složce a funguje to správně, když ale bootstrap mam ve složce vendor, což je na stejné úrovni jako www, jak se k němu dostanu? Aby jej aplikace používala? Tedy abych jej měl v hlavičce? Měl jsem za to, že musí být ve složce www vše (obrazky, css, js) aby to aplikace otevřela
- Webster.K
- Člen | 212
Jen doplním, že bootstrap jsem nainstaloval způsobem composer require twbs/bootstrap, takže ve složce vendor je nová složka twbs a v ní bootstrap a v tom veškteré věci z toho, mimo jiné i CSS/JS popřípadě less soubory, jen nevím, jak je přilinkovat k šabloně, abych to odsud nemusel kopírovat do www/css www/js atd… což mi přijde jako neuvěřitelná kravina…
- Pavel Kravčík
- Člen | 1196
Protože composer primárně kontroluje závislosti a verze PHP souborů.
Bootstrap nemá PHP soubory. Bower, Yarn, Grunt umí kontrolovat závislosti a verze JS souborů. Tj. máš v aplikaci JQuery 1.6. Composer Ti Bootstrap stáhne, ale až si ho ručně přidáš nebude Ti to fungovat, protože vyžaduje JQuery 2.0. Balíčkovací systémy JS za Tebe tohle ohlídají a navíc Ti automaticky dotahají závislosti, které potřebuješ. Třeba autocomplete.js pro Bootstrap a podobně.
A samozřejmě jsem zapomněl to nejdůležitější – kompilaci a komprimaci do jednoho JS souboru pro produkční verzi.
Editoval Pavel Kravčík (22. 11. 2016 9:04)
- Webster.K
- Člen | 212
Aha :) tak to je dobrá informace, kterou jsem se bohužel nikde nedozvěděl a vždy si to hlídal sám :/ který z těch všech je tedy v případě bootstrapu nejlepší? Když vemu komplet tedy hlídání verzí, stažení všeho potřebného, kompilaci a komprimaci? Ideálně vše co na něm vyhovuje/nevyhovuje, co je dobré, co naopak ne, je možné takové srovnání? Castecnou roli hraje i komunita okolo, která nástroj udržuje „v chodu“, tedy by mě zajímal váš názor na to, co je nejlepší/nejpoužívanější a proč právě to.
- greeny
- Člen | 405
Bower mi nepřijde mrtvej… Přes npm instaluji radši jen compile-time závislosti. Tedy například bower, grunt, různé grunt tasky, apod. Bower mi managuje knihovny, které používám na webu. Pro PHP samozřejmě composer. Yarn neznám, ale díky za tip.
- Webster.K
- Člen | 212
Dostal jsem se opět k adresáři vendor, tentokrát ale z trochu jiné strany, doinstaloval jsem rozšíření (čistě PHP soubory) přes composer ale když v nette použiju třeba: $promena = new autor\rozsireni\funkce(); tak nette hodí chybu: Class ‚App\TestModule\Presenters\autor\rozsireni\funkce‘ not found. Jak to donutím aby to rozšíření bylo hledáno ve složce vendor?
Edit: Nakonec vyřešeno, při přidávání komponenty jsem napsal jen $promenna = new autor\rozsireni\funkce(); pred autor chybelo zpětne lomitko :)
Editoval Webster.K (16. 1. 2017 15:18)