Note : Cette question n'est pertinente que pour Grunt 0.3.x et a été laissée en référence. Pour obtenir de l'aide sur la dernière version de Grunt 0.4.x, veuillez consulter mon commentaire sous cette question.
J'essaie actuellement d'utiliser Grunt.js pour mettre en place un processus de construction automatique permettant de concaténer puis de réduire les fichiers CSS et JavaScript.
J'ai réussi à concaténer et à réduire mes fichiers JavaScript, mais à chaque fois que j'exécute Grunt, il semble simplement ajouter au fichier au lieu de l'écraser.
En ce qui concerne la réduction ou même la concaténation des CSS, je n'ai pas encore réussi à le faire !
En ce qui concerne les modules CSS de grunt, j'ai essayé d'utiliser consolidate-css
, grunt-css
& cssmin
mais sans succès. Je n'arrivais pas à comprendre comment les utiliser !
Ma structure de répertoire est la suivante (étant une application node.js typique) :
- app.js
- grunt.js
- /public/index.html
- /public/css/[divers fichiers css]
- /public/js/[divers fichiers javascript]
Voici à quoi ressemble actuellement mon fichier grunt.js dans le dossier racine de mon application :
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');
};
Pour résumer, j'ai besoin d'aide pour deux questions :
- Comment concaténer et minifier tous mes fichiers css sous le dossier
/public/css/
dans un seul fichier, disonsmain.min.css
- Pourquoi grunt.js continue-t-il à ajouter des éléments aux fichiers javascript concaténés et minifiés ?
concat.js
yconcat.min.js
sous/public/js/
au lieu de les écraser à chaque fois que la commandegrunt
est exécuté ?
Mis à jour le 20 juin 2013 - Mise à niveau de Grunt 0.3.x vers Grunt 0.4.x
Grunt.js
a déménagé dans une nouvelle structure à Grunt 0.4.x
(le fichier s'appelle maintenant Gruntfile.js
). Veuillez consulter mon projet open source Squelette Grunt.js pour vous aider à mettre en place un processus de construction pour Grunt 0.4.x
.