2013-05-30 22 views
6

Voglio solo avere un'opinione sul mio flusso di lavoro. Sono a conoscenza di Yeoman e ho deciso di non usarlo. Il mio flusso di lavoro è simile al seguente:Flusso di lavoro Bower and Grunt

  1. Eseguire bower install per installare tutte le dipendenze delle risorse del progetto.
  2. Eseguire grunt che copia tutti i file js dalla cartella dei componenti del bower in una nuova cartella js e tutti i file css in una nuova cartella css.
  3. Ulteriore utilizzo del task grunt per concatenare e minimizzare tutti i file js e css dalle nuove cartelle e inserirli in una cartella dist.
  4. Consultare l'ultimo css e js min nella cartella dist da HTML.

Una cosa che certamente non voglio fare nel mio task grunt è eseguire compiti specifici di dipendenza, ad es. prendi tutto il file js dalla cartella bootstrap nella nuova cartella js, quindi prendi tutto il file js dalla cartella prettyphoto nella nuova cartella js. Voglio che il compito del grunt sia il più generico possibile in modo che io possa usare lo stesso gruntfile in qualsiasi progetto, non importa quali siano le dipendenze del bower. La ragione è che se dovessi passare tutto il tempo a scrivere il mio gruntfile per ogni progetto, perché non dovrei semplicemente prendere i codici sorgente per tutte le dipendenze in modo convenzionale.

Quindi non v'è un plugin grugnito-contrib-copia per copiare i file da un luogo ad un altro, che io uso per afferrare tutti js file dalla cartella di componenti all'interno del gazebo. Il problema è che la maggior parte dei componenti del bower viene fornita con js regolari e versione ridotta di esso. Quindi, li sto copiando entrambi e li concatenando e uguagliando. Quindi duplica il codice!

Il mio flusso di lavoro ha senso? È così, come posso liberarmi del problema che ho menzionato nel paragrafo sopra?

risposta

2

Se ho la comprensione correttamente, si dovrebbe dare un'occhiata a grunt-usemin. È possibile avvolgere i tag js in <!-- build:js js/foo.js -->. L'attività useminPrepare inclusa nel pacchetto scorre ciclicamente tutti gli script (o css, o immagini, ecc.) Presenti e li aggiunge dinamicamente all'attività concat o uglify.

L'unico lato negativo che ho trovato è che l'attività di usemin è abbastanza lenta, ma si spera che se lo strumento this pull request sia implementato, le cose andranno molto, molto più velocemente.

+0

Grazie, ho provato usemin ed è davvero grandioso. L'unica cosa è, le versioni revved dei file js e css in realtà non sono state create. Si tratta di un problema noto sulla macchina Windows. Non vedo nulla di sbagliato con la mia configurazione. – Prashant