纠错后 Grunt watch not 运行 less
Grunt watch not running less after error correction
我遇到了 G运行t Watch 的问题,目前在编译错误更正后不会重新 运行ning 任务。
我收到错误消息,但在更正错误后,g运行t 说文件已更改,但在那之后 运行 没有任何任务。
G运行t 文件:
watch: {
less: {
files: ['public/assets/less/**/*.less'],
tasks: ['css'],
options: {
atBegin: true,
nospawn: true
}
},
scripts: {
files: [
'public/assets/js/homepage.js'
],
tasks: ['jsApp'],
options: {
nospawn: true,
}
}
},
错误日志:
>> ParseError: Unrecognised input in public/assets/less/template.less on line 114, column 31:
>> 114 @media screen and (max-width: 767px) {
>> 115 left: 0;
Warning: Error compiling public/assets/less/main.less
// ----- Corrected the file here, saved again -----
>> File "public/assets/less/template.less" changed.
文件结束。在此之后没有任何内容。
您可以像这样简化您的文件:
//src ===============================
var src;
config.src = src = {
libFolder : 'lib/**/*.js',
lessFolder : 'less/**/*.less',
};
//Watch ===============================
config.watch = {
scripts: {
files: ["<%= src.libFolder %>", "<%= src.lessFolder %>"]
,tasks: ["dev", "less:dist"]
}
}
您需要插入要观看的任务和文件:
在那种情况下,g运行t 会监视 lib 和 less 文件夹中的所有文件,如果我在那里做任何更改,g运行t 将 运行 任务。
您还需要在此处插入任务 运行,直到您停止观看 运行t。
在那种情况下,我同时在 运行 开发和 less:dist。
开发人员我 运行ning: 'sprite','imagemin','concat:dev', 'uglify' ,
grunt.registerTask('dev',['sprite','imagemin','concat:dev', 'uglify']);
所以我在 g运行t watch 中插入了这个任务,所以 g运行t 将毫无错误地监视 运行ning 所有任务。
希望对你有所帮助。
这是 grunt-contrib-watch 包 spawn 函数的问题,您可能想要删除 nospawn。如果您还没有尝试 1.0.0 版的 grunt watch,您可能想尝试一下。
这个问题以前讨论过
https://github.com/gruntjs/grunt-contrib-watch/issues/58
另外,请注意文档:
Not spawning task runs can make the watch more prone to failing so
please use as needed.
在你的位置我会先升级,看我有最新版本的grunt,grunt watch 和grunt less。如果那不能解决问题,我就让它正常生成。
我遇到了完全相同的问题(grunt-contrib-watch 和 grunt-contrib-less 的组合)。
设置了一个解决方案 spawn: true
,但构建时间变得更长。
我发现使用最新版本的 grunt-contrib-less(自 1.0.0 以来的所有版本)时会出现此问题。使用 grunt-contrib-less 0.12.0 在更正错误后成功继续观看没有问题。
我遇到了 G运行t Watch 的问题,目前在编译错误更正后不会重新 运行ning 任务。
我收到错误消息,但在更正错误后,g运行t 说文件已更改,但在那之后 运行 没有任何任务。
G运行t 文件:
watch: {
less: {
files: ['public/assets/less/**/*.less'],
tasks: ['css'],
options: {
atBegin: true,
nospawn: true
}
},
scripts: {
files: [
'public/assets/js/homepage.js'
],
tasks: ['jsApp'],
options: {
nospawn: true,
}
}
},
错误日志:
>> ParseError: Unrecognised input in public/assets/less/template.less on line 114, column 31:
>> 114 @media screen and (max-width: 767px) {
>> 115 left: 0;
Warning: Error compiling public/assets/less/main.less
// ----- Corrected the file here, saved again -----
>> File "public/assets/less/template.less" changed.
文件结束。在此之后没有任何内容。
您可以像这样简化您的文件:
//src ===============================
var src;
config.src = src = {
libFolder : 'lib/**/*.js',
lessFolder : 'less/**/*.less',
};
//Watch ===============================
config.watch = {
scripts: {
files: ["<%= src.libFolder %>", "<%= src.lessFolder %>"]
,tasks: ["dev", "less:dist"]
}
}
您需要插入要观看的任务和文件:
在那种情况下,g运行t 会监视 lib 和 less 文件夹中的所有文件,如果我在那里做任何更改,g运行t 将 运行 任务。
您还需要在此处插入任务 运行,直到您停止观看 运行t。
在那种情况下,我同时在 运行 开发和 less:dist。
开发人员我 运行ning: 'sprite','imagemin','concat:dev', 'uglify' ,
grunt.registerTask('dev',['sprite','imagemin','concat:dev', 'uglify']);
所以我在 g运行t watch 中插入了这个任务,所以 g运行t 将毫无错误地监视 运行ning 所有任务。
希望对你有所帮助。
这是 grunt-contrib-watch 包 spawn 函数的问题,您可能想要删除 nospawn。如果您还没有尝试 1.0.0 版的 grunt watch,您可能想尝试一下。
这个问题以前讨论过 https://github.com/gruntjs/grunt-contrib-watch/issues/58
另外,请注意文档:
Not spawning task runs can make the watch more prone to failing so please use as needed.
在你的位置我会先升级,看我有最新版本的grunt,grunt watch 和grunt less。如果那不能解决问题,我就让它正常生成。
我遇到了完全相同的问题(grunt-contrib-watch 和 grunt-contrib-less 的组合)。
设置了一个解决方案 spawn: true
,但构建时间变得更长。
我发现使用最新版本的 grunt-contrib-less(自 1.0.0 以来的所有版本)时会出现此问题。使用 grunt-contrib-less 0.12.0 在更正错误后成功继续观看没有问题。