一、前言

node从v0.10.26升级(为了匹配autoprefixer)到v5.3.0后出现了gulp插件兼容问题,在nodejs下各种新的插件出现问题,需要重新配置。livereload实现chrome自动刷新需要安装插件,偶尔被墙不是很方便。用webserver搭配livereload,可以实现本地(不需要apache服务器)服务器式文件自动刷新预览,所见即所得,so酷~!配合sublime text3 (大量的最新插件已经开始以3为基准)简直是神器

二、下载

现在很多插件描写的博文都是很久以前的,并不是很适合现在的新版本,so,最好去看官网插件的使用文档,那是最权威最新的,看不懂英语不要紧,看懂代码即可(英语可百度谷歌在线翻译)。nodejs可在官网下也可在中文网下 插件官网有使用文档。但是:最好不要下载nodejs的最新的版本,有些插件可能不支持

https://nodejs.org

http://nodejs.cn/  

http://gulpjs.com/plugins/

https://www.npmjs.com/

三、配置

使用的node版本

确保安装插件,部分gulpfile.js

/*加载插件*/
var gulp = require('gulp'),
autoprefixer = require('gulp-autoprefixer'), //自动处理浏览器前缀
cache = require('gulp-cache'), //缓存
clean = require('gulp-clean'), //清空文件夹
concat = require('gulp-concat'), //合并文件
htmlmin = require('gulp-htmlmin'), //压缩html
imagemin = require('gulp-imagemin'), //图片压缩
pngquant = require('imagemin-pngquant'), //png压缩
less = require('gulp-less'),
livereload = require('gulp-livereload'), //服务器<-->文件自动更新
minifyCss = require('gulp-minify-css'), //缩小化(minify)CSS
rename = require('gulp-rename'), //重命名
rev = require('gulp-rev'),//md5
revCollector = require('gulp-rev-collector'),//替换md5后文件名
sass = require('gulp-sass'),
uglify = require('gulp-uglify'), //js压缩
watch = require('gulp-watch'), //监听
webserver = require('gulp-webserver'); // 本地服务器
zip = require('gulp-zip'); //打包前的压缩
//源码路径
var srcPath = {
css: "./src/css/*.css"
};
//输出目录
var distPath = {,
css: "./web/css"
}; gulp.task('css', function(){
return gulp.src(srcPath.css)
.pipe(autoprefixer('last 2 version', 'safari 5', 'ie 8', 'ie 9', 'opera 12.1', 'ios 6', 'android 4'))
.pipe(rename({suffix: '.min'}))
.pipe(minifyCss())
.pipe(gulp.dest(distPath.mincss));
}); gulp.task('clean', function() {
return gulp.src([distPath.html,distPath.css,distPath.js], {read: false})
.pipe(clean({force: true}));
});
gulp.task('webserver', function() {
gulp.src( './' ) // 服务器目录(代表根目录)
.pipe(webserver({
livereload: true,
}));
});
gulp.task('watch', function() {
gulp.watch(srcPath.html, ['html']);
gulp.watch(srcPath.js, ['js']);
gulp.watch(srcPath.css, ['css']);
gulp.watch(srcPath.less, ['less']);
gulp.watch(srcPath.sass, ['sass']);
gulp.watch(srcPath.img, ['img']);
});
gulp.task('default', ['clean'], function(){
gulp.start( 'webserver','css','img','watch');
});

  

三、常见报错处理 

1、被墙:vpn稳定的要钱,不要钱的不稳定,可以使用github(可以正常访问)上的免费插件或是提供的各种工具 比如   https://github.com/racaljk/hosts  修改hosts即可,官网定期更新

2、cmd安装莫名其妙报错:淡定,关掉重新安装或是换个文件夹cd进入再次安装可以搞定。最终版确定后压缩打包备份

3、node_modules不能正常复制删除?打包压缩zip既可复制也可移动;删除使用360强制搞定

4、插件太久不兼容?重新npm安装

5、cmd下无权限?以管理员身份运行 or 使用sudo or 使用淘宝的 cnpm 镜像安装

gulp下livereload和webserver实现本地服务器下文件自动刷新的更多相关文章

  1. 外网访问本地服务器下的web应用

    让本地服务器可以在外网访问的方式有很多,介绍其中一种: 由于本人是在自己电脑上装了一个虚拟机, 测试环境为:虚拟机作为服务器,服务器中装了一个禅道,虚拟机IP192.168.2.221,本人通过tpl ...

  2. js获取base64格式图片预览上传并用php保存到本地服务器指定文件夹

    html: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  3. MacOS搭建本地服务器

    MacOS搭建本地服务器 一,需求分析 1.1,开发app(ios android)时通常需往app中切入web页面,直接导入不行,故需搭建本地的测试网站服务,通过IP嵌入访问页面. 1.2,开发小程 ...

  4. 使用node.js搭建本地服务器

    第一步安装node:https://nodejs.org/zh-cn/download/ 接下来就需要安装http的镜像文件 打开cmd:输入以下命令 npm install http-server ...

  5. gulp+browserSync+nodemon 实现express 全端自动刷新的实践

    学习过程宝宝心里苦,不能怨政府.. 兴趣所致,一直放不下nodejs的学习,时隔多日,又把express捡起来打算重新再学学,一直没什么太大的长进,和实际的项目经验.真的醉了,太懒了. 今天在重新研究 ...

  6. 利用gulp搭建本地服务器,并能模拟ajax

    工作中可能会用到的小工具,在此记录一下.可以实现的功能有: 本地http服务器 页面实时刷新 可以模拟ajax请求 第一步,新建package.json文件.用到了gulp.gulp-webserve ...

  7. linux下搭建svn本地服务器

    在linux下搭建svn本地服务器可以很好的管理自己的代码,具体过程如下: # mkdir svn_local # cd svn_local  # svnadmin create led_diplay ...

  8. 本地windows下搭建git的本地服务器

    本地windows下搭建git的本地服务器 准备工作: 本地安装java环境,配置环境变量(略) 下载gitblit文件,百度一大堆 开始第一步: 减压gitblit压缩包到某个目录下,比如我在:H: ...

  9. 服务器--远程桌面选择"本地资源"下不显示"本地磁盘"的解决办法(转)

    转自:http://blog.sina.com.cn/s/blog_4cd978f90102wsvc.html “远程连接桌面”,每次连接候,我都选择了“本地资源”下面的“磁盘驱动器”,都会在远程电脑 ...

随机推荐

  1. gcc常用命令介绍

    GCC 全称是 GNU C Compiler,是gnu中最流行的c & c++编译器,下面我们看一下一些主要的参数使用方法. 对于一个源文件可以直接生成可执行文件 gcc test.c 默认生 ...

  2. 已有数据表的Mysql字符编码修改

    Mysql字符集修改应该如何实现呢?下面就为您详细介绍已用数据表的Mysql字符集修改方法,希望对您学习Mysql字符集方面能有所启迪. 环境:在应用开始阶段没有正确的设置字符集,在运行一段时间以后才 ...

  3. 第一章 C++简介

    第一章  C++简介 1.1  C++特点 C++融合了3种不同的编程方式:C语言代表的过程性语言,C++在C语言基础上添加的类代表的面向对象语言,C++模板支持的泛型编程. 1.2  C语言及其编程 ...

  4. OC 内存管理机制总结

    OC 内存管理机制总结 一:OC内存管理机制目前分为两块,其一自动内存管理机制,其二手动内存管理机制: 1.首先我们从自动内存管理机制讲起: 1)什么是自动内存管理机制,自动内存管理机制就是程序中所创 ...

  5. 封装底层Ajax

    创建Ajax简易步骤:创建Ajax对象:var xhr=new XMLHttpRequest();链接服务器:xhr.open('get','a.php',true);发送请求或数据:xhr.send ...

  6. Ubuntu 在未知root密码的情况下修改root密码

    一, 开机按 F12 (或长按Shift), 进入GRUB界面. 二, 在 recovery mode 按e Ubuntu, Linux 3.5.0-17-generic (恢复模式) (或recov ...

  7. node.js和socket.io纯js实现的即时通讯实例分享

    在这个例子中,其实node.js并没有真正起到服务器的作用,因为我们这里可以直接运行client.html文件,而不用输入url请求,当 然,要想输入url请求页面内容还需要加入请求静态文件的代码.这 ...

  8. Android Material Design的FloatingActionButton,Snackbar和CoordinatorLayout

    如果是为了兼容低版本的Android系统,则需要引用Android Material Design的扩展支持库,我在之前的一篇文章张,较为详细的说明了如何导入Android Material Desi ...

  9. ASP.NET中的常用快捷键

    想查找ASP.NET中的属性快捷键,忘记了,搜了一下,找到了ASP.NET中的常用快捷键. 大神文章:http://www.cnblogs.com/xiacao/archive/2012/06/12/ ...

  10. 第29章 项目10:DIY街机游戏

    1.问题 "Self-Defense Against Fresh Fruit":军士长指挥自己的士兵使用自我防御战术对抗以石榴.芒果.青梅和香蕉等新鲜水果入侵者.防御战术包括使用枪 ...