Nota: questa domanda è rilevante solo per Grunt 0.3.x ed è stata lasciata come riferimento. Per assistenza con l'ultima versione di Grunt 1.x, vedere il mio commento sotto questa domanda.
Attualmente sto cercando di utilizzare Grunt.js per impostare un processo di compilazione automatico per prima concatenare e poi minimizzare i file CSS e JavaScript.
Sono stato in grado di concatenare e minimizzare con successo i miei file JavaScript, anche se ogni volta che eseguo grugnito sembra che si aggiunga al file invece di sovrascriverli.
Per quanto riguarda la minimizzazione o anche la concatenazione dei CSS, non sono ancora stato in grado di farlo!
In termini di moduli CSS grugnito ho provato ad utilizzare consolidate-css
, grunt-css
e cssmin
ma senza alcun risultato. Non riuscivo a capire come usarli!
La struttura della mia directory è la seguente (essendo una tipica applicazione node.js):
- app.js
- grunt.js
- /public/index.html
- / public / css / [vari file css]
- / public / js / [vari file javascript]
Ecco come appare il mio file grunt.js attualmente nella cartella principale della mia applicazione:
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');
};
Quindi, solo per riassumere, ho bisogno di aiuto con due domande:
- Come concatenare e minimizzare tutti i miei file CSS nella cartella
/public/css/
in un unico file, ad esempiomain.min.css
- Perché continuano a grunt.js aggiungendo ai file JavaScript concatenati e minified
concat.js
econcat.min.js
sotto/public/js/
invece di sovrascrivere ogni volta il comandogrunt
viene eseguito?
Aggiornato il 5 luglio 2016 - Aggiornamento da Grunt 0.3.xa Grunt 0.4.xo 1.x.
Grunt.js
si è spostato in una nuova struttura in Grunt 0.4.x
(il file è ora chiamato Gruntfile.js
). Consulta il mio progetto open source Grunt.js Skeleton per assistenza con l'impostazione di un processo di compilazione per Grunt 1.x
.
Il passaggio da Grunt 0.4.x
a Grunt 1.x
non dovrebbe introdurre molti cambiamenti importanti .
concat
nella stessajs
cartella, lo avrebbe raccolto e aggiunto! Ho iniziato a usare cssmin e funziona benissimo! Grazie ancora.