express+gulp+gulp-nodemon+browser-sync自动刷新

express自动生成项目。不在赘述

1、在项目根目录下新建终端,依次运行如下命令

npm install gulp --save-dev

npm install gulp-nodemon --save-dev

npm install browser-sync --save-dev

package.json会有如下依赖:

"devDependencies": {
"browser-sync": "^2.18.13",
"gulp": "^3.9.1",
"gulp-nodemon": "^2.2.1"
}

2、在项目根目录新建一个gulpfile.js

配置如下:

 1 // 添加引用
 2 var gulp = require('gulp');
 3 var browserSync = require('browser-sync').create();
 4 var reload = browserSync.reload;
 5 var nodemon = require('gulp-nodemon');
 6 
 7 //这个可以让express启动
 8 gulp.task("node", function() {
 9     nodemon({
10         script: './bin/www',
11         ext: 'js jade',
12         env: {
13             'NODE_ENV': 'development'
14         }
15     })
16 });
17 
18 // gulp.task('js-watch', ['js'], browserSync.reload);
19 
20 gulp.task('server',["node"], function() {
21 
22     var files = [
23         'views/**/*.jade',
24         'routes/**/*.js',
25         'public/**/*.css',
26         'app.js'
27     ];
28 
29     browserSync.init(files, {
30         proxy: 'http://localhost:3000',
31         browser: ['chrome','safari'],
32         notify: false,
33         port: 4001,
34         open:false,
35         ghostMode: {
36             clicks: true,
37             scroll: true
38         }
39     });
40 
41     gulp.watch(files).on("change", reload);
42 });

3、运行:

gulp server

结果,修改jade,界面能够立即刷新,但是修改routes下面的js文件,尤其是修改参数,界面不能立即刷新。有时候需要等待很长时间.尚不清楚原因。不过修改js文件手动刷新界面的话不影响使用。

 参考:

https://www.browsersync.io/docs/gulp

https://www.cnblogs.com/moreyear/p/6020305.html

原文地址:https://www.cnblogs.com/wjw-blog/p/7986295.html