将 browsersync 与 gulp/nodemon 一起使用
Posted
技术标签:
【中文标题】将 browsersync 与 gulp/nodemon 一起使用【英文标题】:Using browsersync with gulp/nodemon 【发布时间】:2016-08-29 03:16:52 【问题描述】:我正在尝试让 Browsersync(2.12.5 版)与 gulp-nodemon/watching 文件一起使用。这些是我的任务。我似乎无法获取任何文件来更新/重新加载浏览器。
var $ = require('gulp-load-plugins')();
var browserSync = require('browser-sync');
var gulp = require('gulp');
// load in gulp tasks etc......
gulp.task('server', function()
return $.nodemon(
script: 'server.js'
);
);
gulp.task('browser-sync', ['server'], function()
browserSync.init(
proxy: 'http://localhost:3000',
port: 4000,
open: false,
notify: false,
logConnections: false,
reloadDelay: 1000
);
);
gulp.task('watch', ['browser-sync'], function()
var scripts = 'public/static/scripts/**/*.js';
var styles = 'public/static/styles/**/*.styl';
gulp.watch(scripts, ['scripts']);
gulp.watch(styles, ['styles']);
);
gulp.task('scripts', function()
return gulp.src('public/static/scripts/**/*.js')
.pipe($.plumber())
.pipe(gulp.dest('build/static/scripts'));
);
gulp.task('styles', function()
return gulp.src('public/static/styles/app.styl', base: 'public')
.pipe($.stylus())
.pipe(gulp.dest('build'))
);
将 Browsersync 与 nodemon 一起使用的推荐方法是什么?
【问题讨论】:
我也在尝试为 browser-sync + nodemon 构建一个 gulpfile,现在给出真正的答案还为时过早。你看到了吗:github.com/sogko/gulp-recipes/blob/master/…? 【参考方案1】:显然,Browser sync
似乎在 nodemon
启动服务器之前刷新了浏览器。
这是来自我的命令行的日志,显示 nodemon
和 Browser sync
,您会看到 nodemon
开始较晚
[18:21:09] Finished 'jade' after 5.32 μs
[18:21:09] [nodemon] restarting due to changes...
>> node restart
[BS] Reloading Browsers...
[18:21:09] [nodemon] restarting due to changes...
>> node restart
[BS] Reloading Browsers...
[18:21:09] [nodemon] restarting due to changes...
>> node restart
[BS] Reloading Browsers...
[18:21:09] [nodemon] starting `node ./bin/www`
nodemon started
我遇到了同样的问题。以下是我的解决方案
// Initialize browserSync
var browserSync = require('browser-sync').create(),
reload = browserSync.reload;
// watcher
gulp.task('watch', function()
var scripts = 'public/static/scripts/**/*.js';
var styles = 'public/static/styles/**/*.styl';
gulp.watch(scripts, ['scripts']);
gulp.watch(styles, ['styles']);
gulp
.watch('public')
.on('change', reload); // the static files you want to watch and reload
);
// browser-sync
gulp.task('browser-sync', function()
browserSync.init(
proxy: 'http://localhost:3000',// Don't use proxy
port: 4000, // Desired PORT address.
open: false,
notify: false,
logConnections: false,
reloadDelay: 1000
server: 'public', // Your compiled static directory
);
)
gulp.task('default', ['scripts', 'styles', 'browser-sync', 'watch']) // This builds my script, styles and other static assets(img), starts browser-sync and watches for changes.
【讨论】:
以上是关于将 browsersync 与 gulp/nodemon 一起使用的主要内容,如果未能解决你的问题,请参考以下文章
代理URL不能与BrowserSync Gulp任务一起使用