Nota: Esta pregunta solo es relevante para Grunt 0.3.xy se ha dejado como referencia. Para obtener ayuda con la última versión de Grunt 1.x, consulte mi comentario debajo de esta pregunta.
Actualmente estoy tratando de usar Grunt.js para configurar un proceso de compilación automático para primero concatenar y luego minificar archivos CSS y JavaScript.
He podido concatenar y minificar con éxito mis archivos JavaScript, aunque cada vez que ejecuto gruñido parece que se anexa al archivo en lugar de sobrescribirlos.
En cuanto a la minificación o incluso la concatenación de CSS, ¡todavía no he podido hacer esto!
En términos de módulos CSS ronco He intentado usar consolidate-css
, grunt-css
y cssmin
pero fue en vano. ¡No podía entender cómo usarlos!
Mi estructura de directorio es la siguiente (siendo una aplicación típica de node.js):
- app.js
- grunt.js
- /public/index.html
- / public / css / [varios archivos css]
- / public / js / [varios archivos javascript]
Así es como se ve actualmente mi archivo grunt.js en la carpeta raíz de mi aplicación:
module.exports = function(grunt) {
// Project configuration.
grunt.initConfig({
pkg: '<json:package.json>',
concat: {
dist: {
src: 'public/js/*.js',
dest: 'public/js/concat.js'
}
},
min: {
dist: {
src: 'public/js/concat.js',
dest: 'public/js/concat.min.js'
}
},
jshint: {
options: {
curly: true,
eqeqeq: true,
immed: true,
latedef: true,
newcap: true,
noarg: true,
sub: true,
undef: true,
boss: true,
eqnull: true,
node: true
},
globals: {
exports: true,
module: false
}
},
uglify: {}
});
// Default task.
grunt.registerTask('default', 'concat min');
};
Entonces, solo para resumir, necesito ayuda con dos preguntas:
- Cómo concatenar y minificar todos mis archivos CSS en la carpeta
/public/css/
en un solo archivo, digamosmain.min.css
- ¿Por qué grunt.js sigue agregando a los archivos javascript concatenados y minificados
concat.js
yconcat.min.js
debajo en/public/js/
lugar de sobrescribirlos cada vez quegrunt
se ejecuta el comando ?
Actualizado el 5 de julio de 2016 - Actualización de Grunt 0.3.xa Grunt 0.4.xo 1.x
Grunt.js
se ha movido a una nueva estructura en Grunt 0.4.x
(el archivo ahora se llama Gruntfile.js
). Consulte mi proyecto de código abierto Grunt.js Skeleton para obtener ayuda con la configuración de un proceso de compilación para Grunt 1.x
.
Pasar de Grunt 0.4.x
a Grunt 1.x
no debería introducir muchos cambios importantes .
concat
en la mismajs
carpeta, lo recogería y lo agregaría! ¡Empecé a usar cssmin y funciona muy bien! Gracias de nuevo.