glup 实现 实时重载刷新
安装依赖
1 | npm init //初始化 项目 |
然后,考虑拥有如下的目录结构…
1 | gulpfile.js |
通过如下的 gulpfile.js,你可以轻松地将 app 目录中的文件加到服务器中,并且所有的浏览器都会在文件发生改变之后自动刷新:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15var gulp = require('gulp');
var browserSync = require('browser-sync');
var reload = browserSync.reload;
// 监视文件改动并重新载入
gulp.task('serve', function() {
browserSync({
server: {
baseDir: 'app'
}
});
gulp.watch(['*.html', 'styles/**/*.css', 'scripts/**/*.js'],
{cwd: 'app'}, reload);
});
在 index.html 中引入 CSS:
1 | <html> |
通过如下命令启动服务,并且打开一个浏览器,访问默认的 URL (http://localhost:3000):
1
gulp serve
CSS 预处理器
一个常见的使用案例是当 CSS 文件文件预处理之后重载它们。以 sass 为例,这便是你如何指示浏览器无需刷新整个页面而只是重载 CSS,考虑有如下的文件目录结构。1
2
3
4
5
6
7gulpfile.js
app/
scss/
main.scss
scripts/
main.js
index.html
安装依赖
1 | npm install --save-dev gulp-sass //安装必要依赖 |
通过如下的 gulpfile.js,你可以轻松地监视 scss 目录中的文件,并且所有的浏览器都会在文件发生改变之后自动刷新:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25var gulp = require('gulp');
var sass = require('gulp-sass');
var browserSync = require('browser-sync');
var reload = browserSync.reload;
// scss 编译
gulp.task('sass', function() {
return gulp.src('app/scss/**/*.scss')
.pipe(sass())
.pipe(gulp.dest('app/css'))
.pipe(reload({ stream:true }));
});
// 监视文件改动并重新载入
gulp.task('browser-sync',['sass'], function() {
browserSync({
server: {
baseDir: 'app'
}
});
// 监听改动后 务必 执行事件
gulp.watch(['*.html', 'css/**/*.css', 'scripts/**/*.js'],
{cwd: 'app'}, reload);
gulp.watch(['scss/**/*.scss'], {cwd: 'app'}, ['sass'], reload);
});
// 执行 gulp 默认事件
gulp.task('default', ['browser-sync']);
通过如下命令启动服务,并且打开一个浏览器,访问默认的 URL (http://localhost:3000):1
gulp
亦或者 你想加入 Es6 =》 Es5 ?
1 | npm install --save-dev gulp-babel babel-preset-es2015 //安装必要依赖 |