我在通过gulp任务创建nodemon + browserSync时遇到问题。我在网上搜索了可能的解决方案。我查看了StackOverflow网站,但仍未找到解决我的问题的任何成功方法。我遇到了这个问题
events.js:167
throw er; // Unhandled 'error' event
^
Error: listen EADDRINUSE :::3000
我不确定为什么在命令行中执行gulp
时会收到此错误EADDRINUSE :::3000
。我已经使用netstat -ano | findStr "9000"
检查了端口,该端口没有被另一个进程调用。我不确定执行gulp任务时为什么会遇到此问题。有人可以提供一些指导吗?我将不胜感激,我用光了所有选项。
gulpfile.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']);
文件夹结构 folder structure image
答案 0 :(得分:0)
我之前曾发布过有关我一起使用nodemon和browserSync时遇到的错误的信息。我终于弄清楚了我遇到的问题。我收到 EARDINUSE3000 错误的原因是因为我在 gulpfile.js 中两次调用了browerSync。
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']);
对于以后遇到此问题的任何人,我希望这会有所帮助。