2015-11-02 4 views
0

Я использую gulp-express для запуска экспресс-сервера из gulpfile.js. Я создаю экспресс-сервер в ./src/server/index.jsgulp-express notify livereload

В настройках сервера Уточняю 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); 
}); 

ответ

1

Попробуйте изменить это:

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

Я закончил использование gulp-live-сервера https://www.npmjs.com/package/gulp- жить-сервер – Mikou

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

  • Нет связанных вопросов^_^