gulp-webserver是开启服务器,通常和gulp-livereload结合使用。而这两个结合使用效果,几乎类似browser-Sync。下面是gulp-webserver和gulp-livereload的一个小demo。

源代码下载(寄放在码云上)。

1. 所用的gulp-task的包及其他npm包

2.所需的目录结构

3.gulpfile.js 中设置源码目录和开发目录

var app = {
srcPath: 'src/',
devPath: 'build/'
};

4.安装gulp-load-plugins,这个task是来避免重复require(引用模块),所以在gulpfile.js中看到如下代码:

var gulp = require('gulp'),
$ = require('gulp-load-plugins')();

引入gulp-load-plugins之后,使用其他模块方法,只需要在其方法前加上“$.”,以sass为例:

gulp.task('sass',function(){
gulp.src(app.srcPath+'styles/*.scss')
.pipe($.sourcemaps.init())
.pipe($.sass())
//这里加了./ 表示生成的.map文件
.pipe($.sourcemaps.write('./'))
.pipe(gulp.dest(app.devPath + 'css'))
//单独使用livereload监听
//.pipe($.livereload());
});

5.设置服务器端口,和浏览器同步

gulp.task('webserver', function() {
gulp.src(app.devPath) // 服务器目录(./代表根目录)
.pipe($.webserver({ // 运行gulp-webserver
livereload: true, // 启用LiveReload,去掉f5刷新的痛点
open: true, // 服务器启动时自动打开网页
port: 3000
}));
});

  

6. 整合默认一个任务

// 监听任务
gulp.task('watch',function(){
gulp.watch(app.srcPath + 'styles/*.scss', ['sass']);
gulp.watch(app.srcPath + '**/*.html', ['html']) // 监听根目录下所有.html文件
}); //默认任务
gulp.task('default',['webserver','watch']);

发现两个问题: 

1.运行gulp,发现sass能监听,但检查语法错误能力不够全,如下:

sass语法中变量声明在变量调用之前,而本demo并没因此终止监听或者出现错误。

2.另外如出现错误,命令端口会挂掉,可以用gulp处理错误的task,如:gulp-plumber(传送门)

最新文章

  1. Yii 框架里数据库操作详解-[增加、查询、更新、删除的方法 'AR模式']
  2. HDU 2577
  3. Javascript DOM基础(一)概念
  4. Chrome浏览器跨域问题
  5. 解决Maven默认仓库没有的jar下载(二)
  6. linux下用Apache一个IP多个网站多域名配置方法
  7. 深入理解javascript闭包(一)
  8. Canvas使用渐变之-径向渐变详解
  9. HTML5 总结-表单-表单元素
  10. SQL Server系统数据库备份最佳实践
  11. angualrJs清除定时器
  12. 数据库学习之MySQL基础
  13. Unity 属性雷达图
  14. Python快速学习06:词典
  15. IIS中注册.net4.0
  16. 判断字符串是否为正整数 & 浮点小数
  17. FAL_CLIENT和FAL_SERVER参数详解
  18. Android零碎知识点 1
  19. 解决VMware安装Ubuntu的过程中窗口过小无法看到按钮的问题
  20. js执行机制(1)

热门文章

  1. osg剔除背面开启
  2. [XPath] XPath 与 lxml (三)XPath 坐标轴
  3. spring boot配置文件application.propertis
  4. 【Java知识点专项练习】之 Java鲁棒性的特点
  5. 【cs229-Lecture2】Gradient Descent 最小二乘回归问题解析表达式推导过程及实现源码(无需迭代)
  6. 【前端系列】移动前端开发之viewport的深入理解
  7. LeetCode 37 Sudoku Solver(求解数独)
  8. Android 调用系统相机拍照,生命周期重走OnCreate,导致无数据的解决办法
  9. unity3d的优化场景技术LOD+IOC
  10. Unity笔记 英保通 Unity新的动画系统Mecanim