gulp livereload实现sass实时编译及浏览器自动刷新

首先gulp是基于Node的,所以确保你已经安装 node.js,在Nodejs官方网站下载跟自己操作系统相对应的安装包。

先说一下gulp安装流程:

1:全局安装gulp,操作为: npm install gulp -g;
2:在根目录下创建 package.json文件,操作为:npm init,之后根据操作输入“名字,版本号,描述”等内容,直接按回车则使用默认值,最后根据提示输入YES即可;输完后根目录下多了个package.json文件;
3:本地安装gulp,先进入你的项目所在,如d盘下的myproject/app

d: 进入D盘;
cd myproject/app 进入myproject下面的app文件夹;

然后在当前项目根目录下输入:
npm install --save-dev gulp;

可以发现我们安装了2次,全局安装gulp是为了执行gulp任务,本地安装gulp则是为了调用gulp插件的功能。

4.根目录下创建 gulpfile.js,此为配置文件,有关gulp的任务都写在里面,后面再讲。

至此,gulp的基本安装就已经结束,下面来安装gulp插件,有关的常用插件像代码压缩,图片压缩,重命名等还是比较多的,可以去npm上找,再次就不举例了,本文只用简单介绍自动刷新相关插件,(本想sass实时编译成css再自动刷新的)

先按照服务器插件:
livereload需要在服务器上运行,可以先npm install http-server -g;装一个插件,如果你有自己的本地服务器也行;
如果系统是win10或者8, 可能会出错,退出Node再以管理员的身份打开,重新安装即可;
安装完然后输入http-server,出现此图片代表启用服务成功;由于启用后就没法进行其他操作了(难道是我的问题?),所以再打开一个 node(反正又不要钱)
装完后以服务器环境打开文件,默认地址为 http://192.168.0.110:8080 (要找到html文件位置)

接着安装sass编译插件,npm install --save-dev gulp-ruby-sass (电脑必须已安装Ruby环境,如果没有可以则安装gulp-sass插件,64位系统下安装可能会出错,据我查资料说是2进制的问题,表示一脸懵逼)

再安装livereload插件:
npm install gulp gulp-livereload -g

安装完后cd进入项目所在位置输入livereload

需要的文件都装好后,就可以来写上面的 gulpfile.js配置文件了;

//引入插件
var gulp = require("gulp");
var livereload = require("gulp-livereload");
var sass = require("gulp-ruby-sass");

//执行任务,意思为监听src下的所有文件,发现有变动即刷新浏览器,根据自己的文件目录写监听的位置
gulp.task("sass", function() {

return sass("src/sass/*.scss")
.pipe(gulp.dest("src/css2"))
.pipe(livereload());
})

gulp.task('sasswatch', function() {

gulp.watch('src/sass/*.scss',["sass"]

);
});

gulp.task('default', function() {

livereload.listen();
gulp.watch('src/**/*.*',function(file) {
livereload.changed(file.path);
}
);
});

为了让浏览器自动刷新还需要装一个chrome的插件,但由于要FQ就算了,以下面的方案代替:
在index.html中引入一下script标签

<script>
document.write('<script src="http://' + (location.host || 'localhost').split(':')[0] +
':35729/livereload.js?snipver=1"></' + 'script>')
</script>

至此就可以正常搞起,亲测可用。 有双屏的写起来爽很多,只要ctrl+s保存就你懂得!!!!呵呵呵呵。

gulp.task是gulp的api之一,作用为定义任务,有关其他的api像src watch pipe dest什么的就大家自己研究了。

研究了3个多小时,大家要是能用了就点个赞。有什么问题可以咨询一下我,我要是懂得就帮你解答一下,不懂得我也没办法,本人也就刚工作一个月的水平,还是比较水的,哪里写错了大家见谅一下。

前端自动化之sass实时编译及自动刷新浏览器的更多相关文章

  1. 更为简单的Ctrl+S自动刷新浏览器工具-LinrF5

    一款自动刷新浏览器的小工具,它通过监听用户的按键,如果在键盘按下 Ctrl+S ,则自动刷新浏览器,操作十分简单,前端开发必备神器,快速提升工作效率,支持IE.火狐以及最新版的chrome33.之前我 ...

  2. gulp之压缩合并MD5清空替换加前缀以及自动编译自动刷新浏览器大全

    gulp是基于流的前端构件化工具.目前比较火的前端构建化工具还是挺多的,grunt gulp fis3等等. 这个鬼东西有什么用?请参考https://www.zhihu.com/question/3 ...

  3. 分享Grunt.js配置: watch + liveReload 实时监测文件变化自动刷新浏览器

    http://www.tuicool.com/articles/2eaQJn 用Grunt配置watch和liveReload组件,可以实时检测指定的文件变化并自动刷新浏览器.目前基本已经成为了我的必 ...

  4. webpack热加载:修改文件自动刷新浏览器并更新

    概述 之前用react脚手架,觉得那种修改了能立即自动刷新浏览器并更新的功能实在非常人性化,所以想在开发其它项目的时候能用上.于是查了一些资料记录在此,供以后开发时参考,相信对其他人也有用. 其实代码 ...

  5. django 调试 监控文件变化 自动刷新浏览器

    问题描述:修改html js py等文件后,自动刷新浏览器,解放F5,提高效率 解决办法:使用gulp,使用bowerSync 关于gulp,可以查看系列教程 关于bowerSync,查看官网 关于结 ...

  6. gulpfile.js(编译sass,压缩图片,自动刷新浏览器)

    var gulp = require('gulp'),     sass = require('gulp-sass'),     watch = require('gulp-watch'),      ...

  7. BrowserSync(前端利器—保存代码后,自动刷新浏览器)

    摘要 Browsersync能让浏览器实时.快速响应您的文件更改(HTML.JavaScript.CSS.Sass.Less.PHP.Python等)并自动刷新页面.更重要的是 Browsersync ...

  8. BrowserSync(保存代码后,自动刷新浏览器)

    摘要 Browsersync能让浏览器实时.快速响应您的文件更改(html.js.css.sass.less等)并自动刷新页面.更重要的是 Browsersync可以同时在PC.平板.手机等设备下进项 ...

  9. 利用less监视模式实时预览样式刷新浏览器

    [前言]此处介绍的方法只是我个人的用法,相信大家有更好更简洁的方式. 上次写到利用LiveReload解放F5.而且LiveReload可以编辑sass/less/stylus.但是可惜发现LiveR ...

随机推荐

  1. ubuntu 18.04 64bit下如何安装python开发工具jupyterhub

    注:这是多用户版本 1.安装依赖 sudo apt-get install npm nodes sudo apt-get install python3-distutils wget https:// ...

  2. 【python】argparse学习(转)

    点击这里成为作者 · 更新于 2018-11-14 21:00:36 argparse argparse 是 Python 内置的一个用于命令项选项与参数解析的模块,通过在程序中定义好我们需要的参数, ...

  3. 我的nlp之路(1)

    1/8日任务 基础篇: 如何使用远程连接从windows或者linux连到服务器进行操作(切换用户,传递文件) (严禁使用root账户) Linux基本bash命令 a)        查看文件大小, ...

  4. php redis 秒杀demo

    $redis = new Redis(); $redis->connect("127.0.0.1", "6379"); $redis->select ...

  5. customs event

    // First create the event var myEvent = new CustomEvent("userLogin", { detail: { username: ...

  6. nyoj744——异或(sb题)

    蚂蚁的难题(一) 时间限制:1000 ms  |  内存限制:65535 KB 难度:2   描述 小蚂蚁童鞋最近迷上了位运算,他感觉位运算非常神奇.不过他最近遇到了一个难题: 给定一个区间[a,b] ...

  7. mbstring.so下载安装

    linux下安装: $:cd /php7.0/ext/mbstring 切换到源码包目录下 $:/usr/local/php/bin/phpize 执行这句 $:./configure –with-p ...

  8. Linux服务器中木马(肉鸡)手工清除方法(转)

    首先剧透一下后门木马如下: (当然这是事后平静下来后慢慢搜出来的,那个时候喝着咖啡感觉像个自由人) 木马名称 Linux.BackDoor.Gates.5 http://forum.antichat. ...

  9. day5-subprocess模块

    一.概述 实际应用中,有些时候我们不得不跟操作系统进行指令级别的交互,如Linux中的shell.Python中早期通过os模块和commands模块来实现操作系统级别的交互,但从2.4版本开始,官方 ...

  10. 1.spring cloud eureka server配置

    IDEA版本 2017.2.5 JDK 1.8 红色加粗内容为修改部分 1.创建一个新项目 2.选择eureka依赖 3.版本选择(重要)并且更新依赖 <?xml version="1 ...