我是grunt的新手,我正在尝试配置gruntfile来监视更改并运行正确的编译器(现在指南针,jst和jshint)
指南针,JST和JsHint都可以自己正常工作,但是当我试图从手表中调用它们时,它们不会激活。 gruntfile检测到更改但不执行任何操作。
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
compass: {
dev: {
files: {
"stylesheets/global.css": "sass/*.scss"
}
}
},
jst: {
compile: {
files: {
"javascript/compiled/templates.js": ["templates/*.html"]
}
}
},
jshint: {
files: ['gruntfile.js', 'javascript/**/*.js'],
options: {
// options here to override JSHint defaults
globals: {
jQuery: true,
console: true,
module: true,
document: true
}
}
},
watch: {
css: {
files: 'sass/*.scss',
task: ['compass']
},
templates: {
files: 'templates/*.html',
task: ['jst']
},
scripts: {
files: ['javascript/**/*.js', 'gruntfile.js'],
task: ['jshint']
},
options: {
spawn: true
}
}
});
grunt.loadNpmTasks('grunt-contrib-jst');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-compass');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', ['jst', 'compass', 'watch']);
};
我做错了什么?我已经在所有宝石及其依赖项上运行了gem install。
答案 0 :(得分:4)
tasks
是复数。将task: ['compass']
更改为tasks: ['compass']
。