Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript grunfile.js-抛出错误';Recursive process.nextTick detected";_Javascript_Node.js_Gruntjs - Fatal编程技术网

Javascript grunfile.js-抛出错误';Recursive process.nextTick detected";

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

我已经为官方定义了一个简单的Gruntfile.js,但是当我运行grunt watch(“$grunt watch”)或grunt default任务(“$grunt”)时,会收到一条警告

错误是:

(节点)警告:检测到Recursive process.nextTick。这会打破的 在节点的下一个版本中。请使用setImmediate进行递归 延期

我已经在这里阅读了相关的StackOverflow问题和答案:,但这并没有解决我的问题

我的GrunFile.js是:

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
而不是
文件:[''']