2015-03-25 3 views
1

Я хотел бы запустить приложение NodeJS с помощью BrowserSync, но похоже, что он не работает.Gulp BrowserSync и npm start

Сообщение об ошибке: Ошибка: слушать 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

Пожалуйста, смотрите [ "Должен ли вопросы включают„метку“в их названиях?"] (Http://meta.stackexchange.com/questions/19190/should-questions- include-tags-in-their-titles), где консенсус «нет, они не должны»! И, пожалуйста, найдите более значимый заголовок на свой вопрос! –

ответ

5

EADDRINUSE означает, что номер порта, который listen() пытается привязать сервер к уже используется. Итак, в вашем случае, должен быть запущен сервер на порту 80 уже. Если на этом порту запущен другой веб-сервер, вы получите ошибку 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; 
    }); 
}); 

Надеется, что это помогает :)

+0

Это не работает: 'Невозможно GET /' на веб-странице .. – tonymx227

+0

Можете ли вы попробовать изменить порт: 8080' на какой-то другой порт, который, вы уверены, он уже не используется, что-то вроде '8097'? –

+0

Это тоже не работает ... Сервер BrowserSync хорошо запущен, но не приложение NodeJS ... И я хотел бы запустить оба из них на одном и том же порту. – tonymx227

Смежные вопросы