Remarque: Cette question n'est pertinente que pour Grunt 0.3.x et a été laissée pour référence. Pour obtenir de l'aide sur la dernière version de Grunt 1.x, veuillez consulter mon commentaire sous cette question.
J'essaie actuellement d'utiliser Grunt.js pour configurer un processus de construction automatique pour d'abord concaténer puis réduire les fichiers CSS et JavaScript.
J'ai réussi à concaténer et à réduire mes fichiers JavaScript, bien que chaque fois que je lance grunt, il semble simplement s'ajouter au fichier au lieu de les écraser.
En ce qui concerne le CSS de minification ou même de concaténation, je n'ai pas encore pu le faire!
En termes de modules grognement CSS j'ai essayé d' utiliser consolidate-css
, grunt-css
et cssmin
mais en vain. Je n'ai pas pu comprendre comment les utiliser!
Ma structure de répertoires 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');
};
Donc, pour résumer, j'ai besoin d'aide pour deux questions:
- Comment concaténer et réduire tous mes fichiers css sous le dossier
/public/css/
en un seul fichier, par exemplemain.min.css
- Pourquoi grunt.js continue-t-il d'ajouter aux fichiers javascript concaténés et minifiés
concat.js
etconcat.min.js
sous/public/js/
au lieu de les écraser à chaque fois que la commandegrunt
est exécutée?
Mise à jour le 5 juillet 2016 - Mise à niveau de Grunt 0.3.x vers Grunt 0.4.x ou 1.x
Grunt.js
a été déplacé vers une nouvelle structure dans Grunt 0.4.x
(le fichier est maintenant appelé Gruntfile.js
). Veuillez consulter mon projet open source Grunt.js Skeleton pour obtenir de l'aide sur la configuration d'un processus de construction pour Grunt 1.x
.
Passer de Grunt 0.4.x
à Grunt 1.x
ne devrait pas introduire beaucoup de changements majeurs .
concat
dans le mêmejs
dossier, il le ramasserait et l'ajouterait! J'ai commencé à utiliser cssmin et cela fonctionne très bien! Merci encore.