Gruntjs Grunt watch:不触发任何任务
我正试图在Grunt的帮助下自动化我的工作流程。我已经把一切都设置好了,但是手表任务不起作用——我可以启动它,但它检测不到变化。问题一定是在watch任务中,因为我可以手动触发sass任务,并且它可以正确编译而没有问题 我的Grunfile看起来像这样:Gruntjs Grunt watch:不触发任何任务,gruntjs,grunt-contrib-watch,Gruntjs,Grunt Contrib Watch,我正试图在Grunt的帮助下自动化我的工作流程。我已经把一切都设置好了,但是手表任务不起作用——我可以启动它,但它检测不到变化。问题一定是在watch任务中,因为我可以手动触发sass任务,并且它可以正确编译而没有问题 我的Grunfile看起来像这样: module.exports = function (grunt) { require('load-grunt-tasks')(grunt); grunt.initConfig({ pkg: grunt.fi
module.exports = function (grunt) {
require('load-grunt-tasks')(grunt);
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
sass: {
dist: {
options: {
'style': 'compressed'
},
expand: true,
cwd: './sass/',
src: 'style.scss',
dest: './css/',
ext: '.css'
},
dev: {
options: {
'style': 'expanded',
},
expand: true,
cwd: './sass/',
src: 'style.scss',
dest: './css/',
ext: '.css'
}
},
watch: {
sass: {
files: ['<%= sass.dev.src %>'],
tasks: ['default']
}
}
});
grunt.registerTask('default', ['sass:dev']);
};
Gruntfile.js
index.html
package.json
css
> style.css (created by sass task)
node_modules
> all required modules
sass
> style.scss
在我看来,一切都很好,但由于它不起作用,一定是出了什么问题。我猜“expand”选项后面的路径是关闭的,尽管我已经尝试了其他也不起作用的结构。因为
sass.dev.src
等于src:'style.scss'
。配置了文件:['']
的监视任务将尝试监视/style.scss
而不是/sass/style.scss
监视任务有一个
cwd
选项(options:{cwd:'./sass'}
),但可能更容易将其设置为监视文件:['sass/*.scss']
。哇,谢谢!这看起来很简单,但我就是找不到那个问题。我猜对于这样一个简单的设置,通常不需要使用expand
,cwd
等,对吗?expand
对于编译多对多的文件非常有用,而不是多对一的文件。因此,如果您想编译成一个css/style.css
文件,如您在示例中所做的那样,expand
是不必要的。在我的设置中,它检测文件更改,但不触发任何任务,有什么建议吗?我注意到指定不存在的任务不会给出警告,但我通过以下方式验证了我的任务是否有效,是否可以从gruntsorry运行: