Compositore è stato scritto per recuperare le dipendenze PHP. Non funziona bene con altre risorse Web, come i file CSS o JS.
Compositore Asset Plugin
Per affrontare il problema del recupero beni compositore Asset plugin è stato sviluppato da François Pluchino (FXP). Fornisce un gestore delle dipendenze NPM/Bower per Composer. È un ponte per questi gestori delle dipendenze e recupererà i contenuti nella cartella del fornitore.
Ricordare che è sempre possibile utilizzare Bower o NPM direttamente. Recupera le tue dipendenze PHP con Composer definito in composer.json. Recupera le tue risorse con Bower definito in bower.json. Potrebbe essere un approccio più pulito.
Documentation-Packagist
si potrebbe richiedere che dalla CLI: composer require fxp/composer-asset-plugin
Ad esempio, per recuperare i beni "Twitters Bootstrap" e "Jquery":
{
"require": {
"bower-asset/bootstrap": "dev-master",
"bower-asset/jquery-2.1.0": "2.1.0"
}
}
Alcuni quadri normativi forniscono gestori personalizzati per le risorse, principalmente per supportare il loro layout di cartella individuale e copiare le cose nella posizione corretta dalla cartella del fornitore. Non so se Phalcon ha qualcosa da recuperare risorse.
Non esiste un modo "automatico" per eseguire questa operazione? O forse specificandolo in un controller, che quindi copia i file in pubblico?
beni Copia dalla cartella vendor nel punto corretto nel layout dell'applicazione è un'altra storia.
Non c'è un modo automatico per farlo. Devi fornire il meccanismo da solo.
Per esempio, si potrebbe modificare il percorso di installazione da fornitore a public/assets
o qualcosa del genere, vedere https://github.com/francoispluchino/composer-asset-plugin/blob/master/Resources/doc/index.md#define-a-custom-directory-for-the-assets-installation
Il plugin non copia le cose intorno.
Bower + Grunt (breve: prendere asset con Bower, copiare roba in giro con Grunt)
Il più vicino a "specificando un controllore" potrebbe essere quella di impostare una compito Grunt copiare solo roba rilevanti recuperare con Bower dalla cartella web/assets/vendor
a web/assets/app
.
In altre parole: nemmeno un gestore di pacchetti JS come Bower fornisce la copia automatica dei principali file API. Bower recupera l'ultima versione di jQuery in una cartella del fornitore definita, ma non copia automaticamente lo jquery.min.js
in web/assets/js/jquery.min.js
. Hai bisogno di un compito su di esso.
Grazie, c'è una cosa che non capisco ancora: perché avrei bisogno di un gestore delle dipendenze di asset separato, dal momento che tutte le risorse giuste sembrano essere scaricate/installate anche dal compositore. O vuoi dire che forse alcuni dei file JS dipendono da altri pacchetti, ad esempio 'jQuery UI' che richiede 'jQuery'? E questo plugin lo scarica anche in "venditore"? – Dylan
I gestori delle dipendenze separati hanno il vantaggio di avere file di configurazione puliti. Non è necessario aggiungere roba di configurazione prefissata a composer.json per far funzionare il bridge. Configurazioni separate, sai cosa va dove. PHP composer.json Asset bower ... - E sì, anche le risorse potrebbero avere dipendenze ... in altre parole potrebbe valere la pena di guardare Bower per le risorse JS e CSS. - Sì, il plug-in degli asset del compositore li scarica nella cartella del venditore, a meno che non si definisca una directory personalizzata o si copi/sposti i file. –
Ho aggiunto la combinazione di Bower + Grunt alla risposta. –