简体   繁体   English

gulp-express通知livereload

[英]gulp-express notify livereload

I am using gulp-express to run an express server from gulpfile.js. 我正在使用gulp-express从gulpfile.js运行快递服务器。 I create the express server in ./src/server/index.js 我在./src/server/index.js创建快递服务器

In the server settings I specify app.use(require('connect-livereload')()); 在服务器设置中,我指定app.use(require('connect-livereload')()); to enable livereload in the browser 在浏览器中启用livereload

In gulpfile, I specify that at anytime a modification is made to ./src/client/libs/**/*.js the task client:libs should be run and ultimately livereload should be notified .pipe(server.notify) 在gulpfile,我指定随时修改做成./src/client/libs/**/*.js任务client:libs应运行,并最终livereload应通知.pipe(server.notify)

With these settings, I would expect my browser to be automatically refreshed when a change is made in ./src/client/libs/**/*.js . 通过这些设置,我希望在./src/client/libs/**/*.js进行更改时,浏览器会自动刷新。 But for some reason, it doesn't work. 但是由于某种原因,它不起作用。 Can anyone see my mistake? 谁能看到我的错误? The relevant parts of my files can be found bellow. 我文件的相关部分可以在下面找到。

Thanks in advance 提前致谢

./gulpfile.js: ./gulpfile.js:

var browserify = require('browserify');
var buffer     = require('vinyl-buffer')
var gulp       = require('gulp');
var server     = require('gulp-express');
var source     = require('vinyl-source-stream'); 
var sourcemaps = require('gulp-sourcemaps');
var uglify     = require('gulp-uglify');

var packageJson = require('./package.json'); 
var dependencies = Object.keys(packageJson && packageJson.dependencies || {});

gulp.task('client:libs', function () {
  var b = browserify();
  return b
      .external(dependencies)
      .require('./src/client/libs/app.js')
      .bundle()
      .pipe(source('libs.js'))
      .pipe(buffer())
      .pipe(sourcemaps.init())
        .pipe(uglify())
        .on('error', gutil.log)
      .pipe(sourcemaps.write('./'))
      .pipe(gulp.dest('./build/js'))
      .pipe(server.notify())
});

gulp.task('client:index', function ()  
  return gulp.src('./src/client/index.html')
      .pipe(gulp.dest('./build'));
});

gulp.task('server', function () {
  server.run(['./src/server/index.js']);
  gulp.watch(['./src/client/index.html'], ['client:index']);
  gulp.watch(['./src/client/libs/**/*.js'], ['client:libs']);

});

./src/server/index.js ./src/server/index.js

var express = require('express');
//var app = express();
var app = module.exports.app = exports.app = express();

app.use('/', express.static('build'));
app.use(require('connect-livereload')());

var server = app.listen(3000, '127.0.0.1', function () {
  var host = server.address().address;
  var port = server.address().port;

  console.log('App is listening at http://%s:%s', host, port);
});

尝试更改此:

server.run(['./src/server/index.js'], {}, 35729);

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM