我想使用BrowserSync启动我的NodeJS应用程序,但它似乎无效。
错误讯息:错误:收听EADDRINUSE
编辑#1:
我找到了解决问题的方法。
gulp.task('sync', ['start', 'watch'], function(cb) {
browserSync.init({
files: ['**/*'],
proxy: 'http://localhost:3000',
port: 4000
});
});
gulp.task('start', function() {
var called = false;
return nodemon({
script: './bin/www',
watch: ['Application.js']
}).on('start', function onStart() {
if (!called) {
cb();
}
called = true;
}).on('restart', function onRestart() {
setTimeout(function reload() {
browserSync.reload({
stream: false
});
}, 500);
});
});

答案 0 :(得分:5)
EADDRINUSE
表示listen()
尝试绑定服务器的端口号已在使用中。因此,在您的情况下,必须已在端口80上运行服务器。如果您在此端口上运行另一个Web服务器,则会出现EADDRINUSE
错误。
var gulp = require('gulp');
var browserSync = require('browser-sync');
var nodemon = require('gulp-nodemon');
gulp.task('default', ['browser-sync'], function () {
});
gulp.task('browser-sync', ['nodemon'], function() {
browserSync.init(null, {
proxy: "http://localhost:5000",
files: ["**/*.*"],
browser: "google chrome",
port: 7000,
});
});
gulp.task('nodemon', function (cb) {
nodemon({
script: './bin/www/app.js'
})
.on('start', function () {
cb();
})
.on('error', function(err) {
// Make sure failure causes gulp to exit
throw err;
});
});
希望有所帮助:)