GulpJS没有在app.js expressjs上定义的端口上运行

时间:2015-09-09 07:27:43

标签: node.js express browser-sync

我设置了一些gulp任务并开始吞咽但是gulp在端口3000上运行而我的应用程序配置是在端口4545上侦听,因此它打开3000端口但没有任何内容显示输出像Can not GET /。 我的项目结构就像

  • 控制器
  • 视图
  • 公共
  • app.js
  • gulpfile.js

所以我希望gulp监听app.js中定义的端口并观察公共flder上的更改。  我已经包含gulp插件,如gulp-plumber,gulp-browser-sync

和我的gulpfile.js

var gulp = require('gulp'),
browserSync = require('browser-sync'),
reload = browserSync.reload,
plumber = require('gulp-plumber')

gulp.task('scripts', function() {
    return gulp.src('public/javascripts/**/*.js')
            .pipe(plumber())
            .pipe(reload({
                     stream: true
        }));
});


gulp.task('styles', function() {
    gulp.src('public/stylesheets/**/*.css')
        .pipe(plumber())
        .pipe(reload({
            stream: true
        }));
});

// gulp.task('html', function() {
    // gulp.src('app/**/*.html')
        // .pipe(reload({
            // stream: true
        // }));
// });


gulp.task('browser-sync', function() {
    browserSync({
        server: {
            baseDir: "./"
        }
    });
});

gulp.task('watch', function() {
    gulp.watch('public/javascripts/**/*.js', ['styles']);
    gulp.watch('public/stylesheets/**/*.css', ['scripts']);
});

gulp.task('default', ['scripts', 'styles', 'browser-sync', 'watch']);

1 个答案:

答案 0 :(得分:0)

您可以使用gulp-nodemon

var gulp = require('gulp'),
    nodemon = require('gulp-nodemon')

gulp.task('develop', function () {
    nodemon({
        script: 'app.js',
        ext: 'js',
    }).on('restart', function () {
        // a server restarted hook can be added here
    });
});

gulp.task('default', ['develop']);

基本上,当你更改js文件时它会自动重启服务器