1 var gulp=require('gulp'); 2 var webserver=require('gulp-webserver'); 3 //url,node提供对URL信息的读取和设置的插件 4 var url=require('url'); 5 //fs node文件管理模块 6 var fs=require('fs'); 7 gulp.task('webserver',function(){ 8 gulp.src('./')//得到根路径 9 .pipe(webserver({ 10 //实时刷新 11 livereload:true, 12 port:80, 13 host:'localhost', 14 //访问的路径是否显示 15 directoryListing:{ 16 enable:true, 17 path:'./'//从哪个目录下开始启动 18 }, 19 //对请求进行拦截 20 middleware:function(req,res,next){ 21 //req:发送的请求 22 //res:需要接受响应的对象 23 //next:指向下一步操作的指针 24 var urlObj=url.parse(req.url,true); 25 console.log(urlObj.pathname); 26 if(urlObj.pathname=='/data/json.json'){ 27 //设置响应头 28 res.setHeader('Content-Type','application/json'); 29 //读取文件 30 fs.readFile('json/data.json','utf-8',function(err,data){ 31 //将文件的数据设置为响应的数据 32 res.end(data); 33 }); 34 return; 35 } 36 //放网页继续进行 37 next(); 38 } 39 })) 40 41 }); 42 gulp.task('copy-file',function(){ 43 gulp.src('dist/index.html').pipe(gulp.dest('src')); 44 }); 45 gulp.task('watch',function(){ 46 gulp.watch('dist/index.html',['copy-file']); 47 }); 48 gulp.task('default',['webserver','watch']);