Javascript 吞食nodemon onChange事件触发两次
我正在尝试按顺序设置我的项目的gulp任务,这是我的gulpfile.js代码当前的外观:Javascript 吞食nodemon onChange事件触发两次,javascript,node.js,gulp,nodemon,gulp-webpack,Javascript,Node.js,Gulp,Nodemon,Gulp Webpack,我正在尝试按顺序设置我的项目的gulp任务,这是我的gulpfile.js代码当前的外观: var gulp = require('gulp'), nodemon = require('gulp-nodemon'), webpack = require('gulp-webpack'); gulp.task('nodemon', ['webpack'], function(){ console.log('NODEMON'); return nodemon({
var gulp = require('gulp'),
nodemon = require('gulp-nodemon'),
webpack = require('gulp-webpack');
gulp.task('nodemon', ['webpack'], function(){
console.log('NODEMON');
return nodemon({
script: 'server/server.js',
ext: 'js',
ignore: [
'client/game.js'
],
tasks: function(changedFiles){
var tasks = ['webpack'];
changedFiles.forEach(function(file){
console.log('changed file: ' + file);
});
return tasks;
},
env: { 'NODE_ENV': 'development' }
});
});
gulp.task('webpack', function(){
console.log('WEBPACK');
return gulp.src('src/main.js')
.pipe(webpack({
entry: `${__dirname}/src/main.js`,
output: {
path: `${__dirname}/client/`,
filename: 'game.js'
},
module: {
loaders: [
{
test: /\.js$/,
loader: 'babel',
query: {
presets: ['es2015']
}
}
]
}
}))
.pipe(gulp.dest('client/'));
});
gulp.task('default', ['webpack', 'nodemon'], function(){
console.log('DEFAULT');
});
首先,一切正常,这很好。但是,当我修改server.js文件时,它总是两次触发onChange事件,导致“webpack”运行和服务器重新启动两次。我做错了什么
编辑:奇怪的是,每次我修改脚本时,它不仅会触发“webpack”任务按预期运行,而且还会重新运行我的gulpfile.js脚本,复制它运行的每个任务,这就是服务器启动两次的原因。我现在的问题是为什么每次都要运行gulpfile.js。如果跳过tasks参数,则不会发生这种情况