我正在运行nodejs 0.12.3 - gulp 3.10.8和Gulp-nodemon 2.0.3。 gulpfile.js:
gulp.task('serve', ['build'], function() {
gulp.start('fb-flo');
nodemon({
script: paths.server,
env: { 'NODE_ENV': 'development' },
// env: { 'NODE_ENV': 'production' },
execMap: {
'js': 'node_modules/babel/bin/babel-node --stage 1' //ES7 cote server
},
delay: '0ms',
watch: ['src/shared/', 'src/server/'],
ignore: ['src/shared/components'],
tasks: function (changedFiles) {
var tasks = [];
changedFiles.forEach(function (file) {
if (path.extname(file) === '.jsx' && !~tasks.indexOf('bundlejs')) tasks.push('bundlejs');
if (path.extname(file) === '.less' && !~tasks.indexOf('compileless')) tasks.push('compileless');
});
return tasks;
}
}).on('exit', function(){
//console.log(process._getActiveHandles());
//console.log(process._getActiveRequests());
process.once('SIGUSR2', function () {
console.log('exit!...........');
gracefulShutdown(function () {
process.kill(process.pid, 'SIGUSR2');
});
});
});
});
我的服务器启动良好,但是当我的服务器在src / shared或src / server中更改js文件后重新启动时,我有错误:
[14:22:35] Finished 'default' after 4.4 μs
[14:22:35] [nodemon] exiting
events.js:85
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE
我明白这意味着地址在使用中是lareday, 所以你可以看到我在通过SIGUSR2信号退出时试图清理,但是console.log永远不会被调用... 任何帮助我都会感激!感谢