nodemon + browserSync gulp 任务导致 EADDRINUSE :::3000 错误



我在通过gulp任务创建nodemon + browserSync时遇到问题。我已经在网上搜索了一个可能的解决方案。我查看了StackOverflow站点,但我仍然没有找到任何成功的解决方案。我遇到了这个问题

events.js:167
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3000

我不确定为什么当我在命令行中执行gulpEADDRINUSE :::3000出现此错误.我已经检查了端口netstat -ano | findStr "9000"该端口未被另一个进程调用。我不确定为什么在执行 gulp 任务时会遇到这个问题。有人可以提供一些指导吗?我将非常感谢我没有选择。

古尔普文件.js

gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({
script: './server.js',
ignore: [
'../server/gulpfile',
'../server/server.js',
'../server/node_modules/'
],
}).on('start', function () {
if (!called) {
cb();
called = true;
}
}).on('restart', function () {
setTimeout(function () {
reload({ stream: false });
}, 1000);
});
});
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init({
proxy: 'http://localhost:9000',
open: false,
browser:'google-chrome',
port: 9000, 
notify: true
});
});
// Static Server + watching scss/hbs files
gulp.task('serve', ['sass'], function() {
browserSync.init({
server: "./client"  
});
gulp.watch(['node_modules/**/*.scss', '../client/**/*.scss'], ['sass']);
gulp.watch("client/views/partials/*.hbs").on('change', browserSync.reload);
});
gulp.task('default', ['js','serve', 'browser-sync']);

文件夹结构 文件夹结构图像

早些时候我发布了关于我在使用 nodemon 和 browserSync 时遇到的错误。我终于弄清楚了我遇到的问题。我收到错误EARDINUSE3000原因是因为我在我的gulpfile中调用了两次browerSync.js 我的问题的解决方案是这样的。

gulp.task('nodemon', function (cb) {
var called = false;
return nodemon({
script: './server.js',
ignore: [
'../server/gulpfile',
'../server/server.js',
'../server/node_modules/'
],
}).on('start', function () {
if (!called) {
cb();
called = true;
}
}).on('restart', function () {
setTimeout(function () {
reload({ stream: false });
}, 1000);
});
});

gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init({
proxy: 'http://localhost:3000',
open: false,
browser:'google-chrome',
port: 4000, 
baseDir: 'build',
notify: true,
});
gulp.watch(['node_modules/bootstrap/scss/bootstrap.scss', '../client/**/*.scss'],
['sass']);
gulp.watch('client/**/*.hbs').on('change', browserSync.reload);
});
gulp.task('default', ['js', 'browser-sync']);

对于将来遇到此问题的任何人,我希望这是有帮助的。

相关内容

  • 没有找到相关文章