【发布时间】:2015-11-02 15:47:50
【问题描述】:
我正在使用gulp-express 从 gulpfile.js 运行快速服务器。我在./src/server/index.js创建快递服务器
在服务器设置中,我指定 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);
});
【问题讨论】:
标签: javascript node.js livereload