Sto solo imparando Grunt. Userò la bussola per il ritmo verticale e la generazione di sprite di immagini e autoprefixer per il prefisso degli stili css3.grunt-autoprefixer loop infinitamente quando si usa grunt-contrib-watch
Ecco il mio Gruntfile.js.
module.exports = function(grunt) {
var globalConfig = {
sassDir: 'sass',
cssDir: 'css'
};
require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);
// Project configuration.
grunt.initConfig({
globalConfig: globalConfig,
pkg: grunt.file.readJSON('package.json'),
compass: {
dev: {
options: {
sassDir: '<%= globalConfig.sassDir %>',
cssDir: '<%= globalConfig.cssDir %>'
}
}
},
autoprefixer: {
dev: {
options: {
browsers: ['last 2 versions']
},
src: '<%= globalConfig.cssDir %>/style.css',
dest: '<%= globalConfig.cssDir %>/style.css'
}
},
watch: {
compass: {
files: ['<%= globalConfig.sassDir %>/**/*.scss'],
tasks: ['compass:dev'],
},
autoprefixer: {
files: ['<%= globalConfig.cssDir %>/style.css'],
tasks: ['autoprefixer:dev']
},
livereload: {
options: { livereload: true },
files: ['<%= globalConfig.cssDir %>/style.css']
}
}
});
// Default task(s) that will be run by invoking 'grunt' w/o args
grunt.registerTask('styles:dev', ['compass', 'autoprefixer']);
grunt.registerTask('default', ['styles:dev', 'watch']);
};
Ma ogni volta che lo eseguo
grunt
Tutto funziona come previsto, tranne che grugnito-contrib-Watch chiede grugnito-autoprefixer all'infinito.
Sto appena iniziando a imparare Grunt. E 'probabilmente una configurazione sbagliata sul mio Gruntfile.js
Spero che mi potrebbe aiutare qui.
sì, è stato risolto. grazie mille. – chanHXC
se non ti dispiace, potresti condividere alcuni suggerimenti sulle migliori pratiche con la configurazione di gruntfile.js? :) grazie. – chanHXC
Una volta che ci si abitua alla configurazione delle attività, troverete un carico di plugin diversi che possono automatizzare tutti i tipi di lavori di sviluppo comuni. Non ci sono molte best practice a cui posso riferirti in questo caso, hai già impostato una configurazione per le directory comuni, usato il trucco matchdep ecc. Ho scoperto che è tutto abbastanza semplice funzionare, a condizione che tu leggi la documentazione per ogni plugin. Sicuramente curiosando tra i repository npm per i nuovi plugin, c'è molto da scoprire :-) – Ben