¡Grandes noticias! Hemos minificado y combinado todo nuestro CSS en un solo archivo. Oh, ¡excepto el CSS de Bootstrap! Tenemos dos buenas opciones. Primero, podríamos apuntar el enlace a un CDN público de Bootstrap. O podríamos meter el estilo de Bootstrap directamente en main.css. Hagamos eso – es mucho más interesante.

¡Bower!

Bootstrap está instalado gracias a Bowser. Um, quiero decir bower. Bower es el compositor de activos de frontend, como Bootstrap o jQuery. Es una alternativa a la descarga de los archivos y la confirmación de ellos a su repo.

Bower lee de, ¡sorpresa!, un archivo bower.json:

20 líneas bower.json

{

«nombre»: «knpu-gulp»,

… líneas 3 – 15

«dependencies»: {

«bootstrap»: «~3.3.2»

}

}

Y cuando creé el proyecto, también añadí un archivo .bowerrc. Esto le dijo a bower que descargara cosas en este directorio web/vendor:

4 líneas .bowerrc

{

«directorio»: «web/vendedor»

}

Eso hace que sean accesibles públicamente.

Pero ahora que tenemos el músculo de Gulp, quiero complicar las cosas. Cambiar esto para ser vendor/bower_components:

4 líneas .bowerrc

{

«directorio»: «vendor/bower_components»

}

Eso pondrá estos archivos fuera del directorio público, lo que al principio, causará algunos problemas. Elimina ese material antiguo:

rm -rf web/vendor

Dirígete a la terminal y haz ctrl+c para salir de Gulp. Ahora, ejecuta bower install:

bower install

Si no tienes el comando bower, consulta su documentación. Se instala globalmente a través de npm, exactamente igual que gulp.

¡Hecho! Ahora, en mi directorio vendor/ tengo una hermosa carpeta bower_components.

Añadir archivos CSS a nuestro flujo de estilos Gulp

Pero aunque quisiera tener 2 etiquetas de enlace separadas en mi diseño, no puedo:Bootstrap ya no llama al directorio web/ hogar. ¡Por lo tanto, deshacerse de su etiqueta de enlace.

En gulpfile.js, vamos a tratar de arreglar las cosas! Empezaré añadiendo una nueva variable de configuración llamada bowerDir, porque va a ser muy común referirse a cosas en ese directorio. Ponlo en vendor/bower_components:

41 líneas gulpfile.js

… líneas 1 – 3

var config = {

… líneas 5 – 8

bowerDir: ‘vendor/bower_components’

};

… líneas 11 – 41

Si abres ese directorio, puedes ver dónde vive el archivo bootstrap.css. Fíjate que no es un archivo Sass, sino un CSS normal y corriente. En realidad hay una versión de Sass de Bootstrap, y puedes usarla en su lugar si quieres controlar tus variables de Bootstrap.

Pero la pregunta es, ¿podemos empujar archivos CSS normales a través de nuestra función de procesamiento de SassaddStyle? Claro que sí. Vamos a añadir config.bowerDir y luego /bootstrap/dist/css/bootstrap.css:

41 líneas gulpfile.js

… líneas 1 – 23

gulp.task(‘sass’, function() {

app.addStyle(, ‘main.css’);

… líneas 30 – 33

);

… líneas 35 – 41

Y ni siquiera tenemos que preocuparnos de obtener el archivo min, porque ya nos encargamos de eso. Este archivo pasará por el filtro sass ¡Pero no pasa nada! Simplemente parecerá el archivo Sass más aburrido de la historia.

Vuelve a ejecutar gulp:

gulp

Y ahora, main.css comienza con el glorioso código de Bootstrap. Y sería minificado si hubiera pasado la bandera --production.

Nuestro sitio debería seguir viéndose bien. Así que refresca. Sí, es como antes, pero con un archivo CSS menos molesto para descargar.

Renombrar la tarea a styles

Y antes de seguir, creo que podemos hacer otra mejora. Nuestra tarea se llama sass. Cambiémosla por styles, porque su trabajo es realmente procesar estilos, ya sean archivos CSS o Sass.

41 líneas gulpfile.js

… líneas 1 – 23

gulp.task(‘styles’, function() {

… líneas 25 – 33

);

… líneas 35 – 41

También tenemos que cambiar ese nombre en la tarea default. Ooops, y antes de iniciar Gulp, también cambiar el nombre en la tarea watch a styles:

41 líneas gulpfile.js

… líneas 1 – 35

gulp.task(‘watch’, function() {

gulp.watch(config.assetsDir+’/’+config.sassPattern, )

});

… línea 39

gulp.task(‘default’, );

Ok, ahora podemos probar cosas. ctrl+c para detener Gulp, y volver a iniciarlo:

gulp

¡Sí, no hay errores! ¡Y el sitio todavía se ve Tri-tástico! ¿Veis lo que he hecho?

Deja una respuesta

Tu dirección de correo electrónico no será publicada.