javascript - gulp-express 通知 livereload

标签 javascript node.js livereload

我正在使用gulp-express从 gulpfile.js 运行 Express 服务器。我在 ./src/server/index.js

中创建了 Express 服务器

在服务器设置中,我指定 app.use(require('connect-livereload')()); 以在浏览器中启用 livereload

在 gulpfile 中,我指定在任何时候对 ./src/client/libs/**/*.js 进行修改时,任务 client:libs 应该运行并最终应通知 livereload .pipe(server.notify)

通过这些设置,我希望在 ./src/client/libs/**/*.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

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);

关于javascript - gulp-express 通知 livereload,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33481510/

相关文章:

javascript - GUnload() 单个谷歌地图

javascript - Reactjs:是否可以使用另一个父组件的子组件的父组件属性

ember.js - Vagrant、Ember-cli、Windows 8.1、Ubuntu。 Livereload 不起作用!当我从 Windows 保存时它没有检测到更改

node.js - 如何修复 Google Calendar API 错误

javascript - Grunt LiveReload 未显示

sails.js - 获取 livereload 以使用 Sails.js

Javascript 用于更改按钮单击时的 div 高度?

javascript - 在具有相似类的多个元素上切换类

Node.js - 使用 MSSQL 包动态添加多个参数

mysql - Node.JS 和 MySQL - 查询锁定并且执行速度极其缓慢