Javascript grunfile.js-抛出错误';Recursive process.nextTick detected";
我已经为官方定义了一个简单的Gruntfile.js,但是当我运行grunt watch(“$grunt watch”)或grunt default任务(“$grunt”)时,会收到一条警告 错误是: (节点)警告:检测到Recursive process.nextTick。这会打破的 在节点的下一个版本中。请使用setImmediate进行递归 延期 我已经在这里阅读了相关的StackOverflow问题和答案:,但这并没有解决我的问题 我的GrunFile.js是:Javascript grunfile.js-抛出错误';Recursive process.nextTick detected";,javascript,node.js,gruntjs,Javascript,Node.js,Gruntjs,我已经为官方定义了一个简单的Gruntfile.js,但是当我运行grunt watch(“$grunt watch”)或grunt default任务(“$grunt”)时,会收到一条警告 错误是: (节点)警告:检测到Recursive process.nextTick。这会打破的 在节点的下一个版本中。请使用setImmediate进行递归 延期 我已经在这里阅读了相关的StackOverflow问题和答案:,但这并没有解决我的问题 我的GrunFile.js是: module.expor
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
concat: {
options: {
separator: ';'
},
dist: {
src: ['client/app/**/*.js'],
dest: 'client/dist/<%= pkg.name %>.js'
}
},
uglify: {
options: {
banner: '/*! <%= pkg.name %> <%= grunt.template.today("dd-mm-yyyy") %> */\n'
},
dist: {
files: {
'dist/<%= pkg.name %>.min.js': ['<%= concat.dist.dest %>']
}
}
},
jshint: {
files: ['client/app/**/*.js', 'server/**/*.js'],
options: {
// options here to override JSHint defaults
globals: {
jQuery: true,
console: true,
module: true,
document: true
}
}
},
watch: {
files: ['<% jshint.files %>'],
tasks: ['jshint']
}
});
grunt.loadNpmTasks('grunt-contrib-uglify');
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-contrib-concat');
grunt.registerTask('default', ['watch']);
grunt.registerTask('test', ['jshint']);
grunt.registerTask('build-dev', ['jshint', 'concat']);
grunt.registerTask('build', ['jshint', 'concat', 'uglify']);
module.exports=函数(grunt){
grunt.initConfig({
pkg:grunt.file.readJSON('package.json'),
康卡特:{
选项:{
分隔符:';'
},
地区:{
src:['client/app/***.js'],
dest:'client/dist/.js'
}
},
丑陋的:{
选项:{
横幅:'/*!*/\n'
},
地区:{
档案:{
'dist/.min.js':['']
}
}
},
jshint:{
文件:['client/app/**.js','server/**.js'],
选项:{
//用于覆盖JSHint默认值的选项
全球:{
jQuery:true,
安慰:是的,
模块:正确,
文件:正确
}
}
},
观察:{
文件:[''],
任务:['jshint']
}
});
grunt.loadNpmTasks(“grunt-contrib-uglify”);
grunt.loadNpmTasks('grunt-contrib-jshint');
grunt.loadNpmTasks(“grunt-contrib-watch”);
grunt.loadNpmTasks(“grunt-contrib-concat”);
registerTask('default',['watch']);
registerTask('test',['jshint']);
registerTask('build-dev',['jshint','concat']);
registerTask('build',['jshint','concat','uglify']);
}) 好的。我想出来了。达格纳比特,这只虫子和我复制到这里的文件是同一个文件 节点不喜欢watch指令引用jshint.files属性,然后调用jshint任务。因此,我将文件显式地放入,如下所示。更改以下行(带上下文)后:
grunt监视和默认任务(默认任务是执行监视任务),它在没有任何警告的情况下工作 好的。我想出来了。达格纳比特,这只虫子和我复制到这里的文件是同一个文件 节点不喜欢watch指令引用jshint.files属性,然后调用jshint任务。因此,我将文件显式地放入,如下所示。更改以下行(带上下文)后:
grunt监视和默认任务(默认任务是执行监视任务),它在没有任何警告的情况下工作 所以我知道这个问题已经得到了回答,但我将分享我对这个错误的见解,因为它被证明是巨大的时间浪费 这是我的原始文件:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
dev: {
files: ['**/*.js', 'public/stylesheets/**/*.scss'],
tasks: ['express:dev'],
options: {
spawn: false
}
}
},
express: {
dev: {
options: {
script: 'server.js',
node_env: 'development'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-express-server');
grunt.registerTask('default', ['express:dev', 'watch']);
};
与Chad类似,我通过从重新启动Express的watch
任务中删除js文件解决了这个问题。上述任务的以下配置对我来说很好:
watch: {
dev: {
files: ['public/stylesheets/**/*.scss'],
tasks: ['express:dev'],
options: {
spawn: false
}
}
},
所以我知道这个问题已经得到了回答,但我将分享我对这个错误的见解,因为它被证明是对时间的巨大浪费 这是我的原始文件:
module.exports = function (grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
watch: {
dev: {
files: ['**/*.js', 'public/stylesheets/**/*.scss'],
tasks: ['express:dev'],
options: {
spawn: false
}
}
},
express: {
dev: {
options: {
script: 'server.js',
node_env: 'development'
}
}
}
});
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.loadNpmTasks('grunt-express-server');
grunt.registerTask('default', ['express:dev', 'watch']);
};
与Chad类似,我通过从重新启动Express的watch
任务中删除js文件解决了这个问题。上述任务的以下配置对我来说很好:
watch: {
dev: {
files: ['public/stylesheets/**/*.scss'],
tasks: ['express:dev'],
options: {
spawn: false
}
}
},
您可以说
文件:jshint.files
而不是文件:[''']
而不是从jshint复制和粘贴这些文件以观看,您可以说文件:jshint.files
而不是文件:[''']