Grande notizia! Abbiamo minificato e combinato tutti i nostri CSS in un solo file. Oh, tranne il CSS di Bootstrap! Abbiamo due buone opzioni. Primo, potremmo puntare il link ad un CDN pubblico di Bootstrap. Oppure potremmo stipare il bootstrapstyling proprio in main.css
. Facciamo così – è molto più interessante.
Bower!
Bootstrap è installato grazie a Bowser. Ehm, voglio dire Bower. Bower è il compositore di risorse per il frontend, come Bootstrap o jQuery. È un’alternativa al download dei file e al loro commit nel tuo repo.
Bower legge da, sorpresa, un file bower.json
:
E quando ho creato il progetto, ho anche aggiunto un file .bowerrc
. Questo diceva a bower di scaricare le cose in questa web/vendor
directory:
Questo li ha resi pubblicamente accessibili.
Ma ora che abbiamo i muscoli di Gulp, voglio complicare le cose. Cambia questo in vendor/bower_components
:
Questo metterà questi file fuori dalla directory pubblica, che all’inizio, causerà alcuni problemi. Cancella quella vecchia roba:
rm -rf web/vendor
Vai al terminale e ctrl+c fuori da gulp. Ora, esegui bower install
:
bower install
Se non hai il comando bower
, controlla i loro documenti. È installato globalmente tramite npm, esattamente come gulp.
Fatto! Ora, nella mia directory vendor/
ho una bella bower_components
cartella.
Aggiungimento di file CSS al nostro Gulp Styles Stream
Ma anche se volessi avere 2 tag link separati nel mio layout, non posso: Bootstrap non chiama più la directory web/
home. Quindi, sbarazzati del suo taglink.
In gulpfile.js
, proviamo a sistemare le cose! Inizierò aggiungendo una nuova variabile di configurazione chiamata bowerDir
, perché sarà molto comune fare riferimento a cose in quella directory. Impostala su vendor/bower_components
:
Se apri quella directory, puoi vedere dove vive il file bootstrap.css
. Notate che non è un file Sass – solo un normale vecchio CSS. In realtà c’è una versione Sass di Bootstrap, e puoi assolutamente usarla se vuoi controllare le variabili di Bootstrap.
Ma la domanda è: possiamo spingere i semplici file CSS attraverso la nostra funzione Sass-processingaddStyle
? Certo! Aggiungiamo config.bowerDir
poi /bootstrap/dist/css/bootstrap.css
:
E non dobbiamo nemmeno preoccuparci di ottenere il file min, perché ce ne stiamo già occupando. Questo file passerà attraverso il filtro sass
, ma va bene così! Sembrerà semplicemente il più noioso file Sass di sempre.
Torna indietro ed esegui gulp
:
gulp
E ora, main.css
inizia con il glorioso codice Bootstrap. E sarebbe minificato se avessi passato il flag --production
.
Il nostro sito dovrebbe essere ancora bello. Quindi aggiornate. Sì, è proprio come prima, ma con un file CSS in meno da scaricare.
Rinominare il task in styles
E prima di continuare, penso che possiamo fare un altro miglioramento. Il nostro compito si chiama sass
. Cambiamolo in styles
, perché il suo compito è proprio quello di elaborare gli stili, sia che si tratti di file CSS o Sass.
Dobbiamo anche cambiare quel nome nel task default
. Ooops, e beforerestart Gulp, cambia anche il nome sul task watch
in styles
:
Ok, ora possiamo provare le cose. ctrl+c per fermare Gulp, e farlo ripartire:
gulp
Sì, nessun errore! E il sito è ancora Tri-tastic! Vedi cosa ho fatto?