关联上前两节的内容
一.创建构建模板构建脚本
到终端创建pages.js
LYKdeMacBook-Pro:es6 hm$ touch tasks/pages.js
到pages目录下 创建任务
import gulp from 'gulp';
import gulpif from 'gulp-if';
import livereload from 'gulp-livereload';
import args from './util/args';
//创建一个任务pages
gulp.task('pages',()=>{
return gulp.src('app/**/*.ejs')//打开app下面所有ejs文件
//把这些文件原封不动的copy到一个地方
.pipe(gulp.dest('server'))
//监听是不是热更新
.pipe(gulpif(args.watch,livereload()))
})
二.创建css相关任务
到终端创建css.js
LYKdeMacBook-Pro:es6 hm$ touch tasks/css.js
import gulp from 'gulp';
import gulpif from 'gulp-if';
import livereload from 'gulp-livereload';
import args from './util/args';
gulp.task('css',()=>{
return gulp.src('app/**/*.css')
.pipe(gulp.dest('server/public'))
//.pipe(gulpif(args.watch,livereload())) //监听是不是热更新
})
三.创建服务器的脚本
到终端创建server.js
LYKdeMacBook-Pro:es6 hm$ touch tasks/server.js
import gulp from 'gulp';
import gulpif from 'gulp-if';
import liveserver from 'gulp-live-server';//一个能作为启动服务器的包
import args from './util/args';
//创建一个server任务
gulp.task('serve',()=>{
//判断是否处于监听状态下,如果不是直接返回回调函数
if(!args.watch) return cb();
//如果是就使用liveserver.new创建一个服务器
var server = liveserver.new(['--harmony','server/bin/www']);
})
// 监听让server下的js和ejs发生改变的时候浏览器自动刷新
gulp.watch(['server/public/**/*.js','server/views/**/*.ejs']),function(file){
server.notify.apply(server,[file]);//通过这个命令通知服务器文件发生改变,让其做相应的处理。
}
//服务器中的路由和接口发生变化,需要server重启才能生效,这时需要监听需要重启输入的文件
gulp.watch(['server/routes/**/*.js','server/app.js'],function(){
server.start.bind(server)() //调用server.start API 去重启
});
网友评论