我收到与此人相同的错误消息:
grunt-contrib-watch导致超出最大调用堆栈大小
在此grunt文件上运行“ grunt watch”时:
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
uglify: {
options: {
banner: '//Copyright (c) 2014 <%= pkg.author %>. All Rights Reserved.\n'
},
build: {
files: {
"Static/JavaScript/<%= pkg.name %>/AppLogic.Min.js": ["Static/JavaScript/<%= pkg.name %>/AppLogic.js"]
}
}
},
less: {
production: {
options: {
cleancss: true
},
files: {
"Static/Css/<%= pkg.name %>/Style.Min.css": ["Static/Css/<%= pkg.name %>/Style.css"]
}
}
},
watch: {
scripts: {
files: ["Static/JavaScript/<%= pkg.name %>/AppLogic.js"],
tasks: ["uglify"]
},
styles: {
files: ["Static/Css/<%= pkg.name %>/Style.css"],
tasks: ["less"]
}
}
});
grunt.loadNpmTasks("grunt-contrib-less");
grunt.loadNpmTasks("grunt-contrib-uglify");
grunt.loadNpmTasks("grunt-contrib-watch")
grunt.registerTask("default", ["uglify", "less"]);
grunt.registerTask("watch", ["watch"]);
};
看答案,我的问题似乎与另一个问题有不同的原因,但是肯定是错误的。
在没有参数的情况下运行咕unt声效果很好,因此似乎可以正确构造“ uglify”和“ less”。
运行“ grunt watch:scripts”或“ grunt watch:styles”也会导致该错误。
有任何想法吗?
PS:grunt / grunt-cli安装在我的应用程序本地,而不是全局安装在我的计算机上。不要认为解决这个问题有什么不同,但是为了完整起见...
此外,在错误弹出之前,我多次收到以下警告:
(节点)警告:检测到递归process.nextTick。这将在下一版本的节点中中断。请使用setImmediate进行递归延迟。
嗯,问题不在于我的“监视”任务结构,而是这一行:
grunt.registerTask("watch", ["watch"]);
将该任务命名为不同于其参数的名称可以解决该问题,如下所示:
grunt.registerTask("watch_", ["watch"]);
归功于以下答案,对于重复的内容,我们深表歉意:
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句