前段时间使用了gulp+browser-sync才发现这个东西真的很好用。

准备工作:(1)、安装nodejs。gulp是基于nodejs使用的,所以先安装nodejs,https://nodejs.org/en/download/在这里直接下载安装就好。

(2)、新建一个项目目录,比如我在E盘中新建一个文件夹:gulpbrowsersync  。在其中新建一些文件夹或者文件比如style文件夹、js文件夹、images文件夹以及index.html,

开始工作:

1、进入项目目录E:\gulpbrowsersync  中,shift+鼠标右键 选择 在此处打开命令窗口 。创建一个模块(在命令行中输入)。

创建过程中会提示输入一些东西,可以直接回车。

npm init       //创建一个模块,会在项目目录中生成一个package.json文件

2、安装gulp(在命令行中输入)。ps:gulp首先需要全局安装一次。

npm install gulp -g
npm install gulp --save -dev

3、安装所需要的几个gulp插件(都是在命令行中输入)

npm install gulp-uglify --save -dev          //js压缩插件

npm install gulp-concat --save -dev          //js合并插件

npm install gulp-cssnano --save -dev         //css压缩插件

npm install gulp-less --save -dev            //less文件编译 

npm install gulp-imagemin --save -dev        //图片压缩插件

npm install gulp-htmlmin --save -dev         //html压缩插件

npm install del --save -dev                  //文件删除模块

4、安装browser-sync(在命令行中输入)

npm install browser-sync  --save -dev

5、在项目根目录中新建gulpfile.js文件(重要!!!文件名为固定不变的。)输入以下内容:

'use strict';

var gulp = require('gulp');                        //获取gulp
var browsersync = require('browser-sync').create();//获取browsersync //删除dist目录下文件
var del=require('del');
gulp.task('clean',function(cb){
return del(['dist/*'],cb);
}) //操作js文件
var uglify = require('gulp-uglify'); //js压缩插件
var concat = require('gulp-concat'); //js合并插件
gulp.task('scripts', function() {
gulp.src('js/*.js') //需要操作的源文件
.pipe(uglify()) //压缩js文件
.pipe(concat('app.js')) //把js文件合并成app.js文件
.pipe(gulp.dest('dist/js')) //把操作好的文件放到dist/js目录下
.pipe(browsersync.stream()); //文件有更新自动执行
}); //操作css文件
var cssnano = require('gulp-cssnano'); //css压缩插件
var less=require('gulp-less') //less文件编译
gulp.task('style', function() {
gulp.src('style/*.css')
.pipe(less()) //编译less文件
.pipe(cssnano()) //css压缩
.pipe(gulp.dest('dist/style'))
.pipe(browsersync.stream());
}); var imagemin = require('gulp-imagemin'); //图片压缩插件
gulp.task('image', function() {
gulp.src('images/*.{png,jpg,jpeg,gif}')
.pipe(imagemin())
.pipe(gulp.dest('dist/images'))
.pipe(browsersync.stream());
}); var htmlmin = require('gulp-htmlmin'); //html压缩插件
gulp.task('html', function() {
gulp.src('*.html')
.pipe(htmlmin({
collapseWhitespace: true, //压缩html
collapseBooleanAttributes: true, //省略布尔属性的值
removeComments: true, //清除html注释
removeEmptyAttributes: true, //删除所有空格作为属性值
removeScriptTypeAttributes: true, //删除type=text/javascript
removeStyleLinkTypeAttributes: true, //删除type=text/css
minifyJS:true, //压缩页面js
minifyCSS:true //压缩页面css
}))
.pipe(gulp.dest('dist'))
.pipe(browsersync.stream());
}); gulp.task('serve', ['clean'], function() {
gulp.start('scripts','style','image','html');
browsersync.init({
port: ,
server: {
baseDir: ['dist']
}
});
gulp.watch('js/*.js', ['scripts']); //监控文件变化,自动更新
gulp.watch('style/*.css', ['style']);
gulp.watch('images/*.*', ['image']);
gulp.watch('*.html', ['html']);
}); gulp.task('default',['serve']);

注意1:gulp.src()中为操作文件的源文件,有需要可以自己更改;图片更改中后面的为匹配的图片格式,这里只写了几种常见图片格式,有需要可以自己增加。

注意2:如果不是less文件而只是css文件,可以把style中的   .pipe(less())  注释掉。

6、在之前的命令窗口中输入

gulp

会出现以下提示

运行完后应该可以自动打开一个浏览器。如果没有打开也没有关系,手动打开浏览器输入上面的local地址(即http://localhost:2016)就可以了。如果是同一个网段的电脑(比如连接同一个wifi的笔记本或者手机),可以输入上面的External地址(即http://192.168.100.110:2016)也可以实现自动更新。

想想这边更新着代码,那边电脑自动更新页面,是不是很炫酷,苦逼前端开发者装逼必备。

最后放一个效果图。嘻嘻

使用gulp+browser-sync搭建前端项目自动化以及自动刷新的更多相关文章

  1. gulp安装搭建前端项目自动化

    下面是今天在配置gulp运行项目时遇到的问题几个问题及其完整的安装过程: 1.安装node.js .gulp是基于nodejs使用的 查看版本node   -v 2.npm install gulp ...

  2. 手把手教你用SonarQube+Jenkins搭建--前端项目--代码质量管理平台 (Window系统)

    前言 网上教程大多介绍的是Linux系统下SonarQube+Jenkins如何使用,这是因为这两款软件一般都是部署在服务器上,而大多数服务器,采用的都是Linux系统.大多数服务器用Linux的原因 ...

  3. 前端项目自动化构建工具——Webpack入门教程

    参考资料:https://www.webpackjs.com/(中文文档)   https://www.webpackjs.com/(官方文档) 首先有必要说明一下,本文侧重讲解webpack基本配置 ...

  4. 【gulp】gulp + browsersync 构建前端项目自动化工作流

    什么是 gulp? gulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务.gulp.js 是基于 node.js 构建的,利用 node.js 流的威力,你可以快速构 ...

  5. 用gulp构建你的前端项目

    前言 前端技术发展日新月异,随着模块化.组件化的提出,前端变得越来越复杂,静态资源越来越多,那么对静态资源的处理,如压缩,合并,去掉调试信息.. 如果还是人工去处理,效率非常之低且还容易出错,于是自动 ...

  6. 使用gulp来构建一个前端项目

    什么是gulp? gulp是一个前端项目构建工具,是自动化项目的构建利器,它不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成.你可以使用gulp及其插件对你的项目代码 ...

  7. 3 分钟轻松搭建 Ruby 项目自动化持续集成

    任何事情超过 90 秒就应该自动化,这是程序员的终极打开方式.Automating shapes smarter future. 这是一篇关于 Ruby 项目持续集成的快速指导教程,教大家如何使用 f ...

  8. 使用vue2.x+webpack+vuex+sass+axios+elementUI等快速搭建前端项目框架

    一.本文将分享如何快速搭起基于webpack+vue的前端项目框架,利用vue的自己的脚手架工具vue-cli搭建起基本的环境配置,再通过npm包管理工具引入相应的依赖来完善项目的各种依赖框架.下面是 ...

  9. nodejs解压版安装和配置(带有搭建前端项目脚手架)

    nodejs 安装  我先前用了nvm,觉得nvm挺厉害可以随时更换nodejs版本,但是研究了下,可能自己功力不够还是什么,并不好用,中间还出现了错误:所以最后还是卸载了: 本文图文并茂的一步一步的 ...

随机推荐

  1. CSS系列:CSS中盒子模型

    盒子模型是CSS控制页面时一个很重要的概念.所有页面中的元素都可以看成是一个盒子,占据着一定的页面空间.可以通过调整盒子的边框和距离等参数,来调节盒子的位置和大小. 1. 盒子的内部结构 在CSS中, ...

  2. 外网访问原理分析 - 每天5分钟玩转 OpenStack(105)

    本节我们会将上节创建的 ext_net 连接到 router,并验证内外网的连通性. 更重要的,我们会分析隐藏在表象之下的原理. 将外网连接到 Neutron 的虚拟路由器,这样 instance 才 ...

  3. Objective-C中的类目,延展,协议

    Objective-C中的类目(Category),延展(Extension),协议(Protocol)这些名词看起来挺牛的,瞬间感觉OC好高大上.在其他OOP语言中就没见过这些名词,刚看到这三个名词 ...

  4. Deffered.js的实现原理

    在艾伦的推荐下,看了一个日本人写的延时加载库,非常轻量,写的很棒.作为我的源码学习的第一编. 在认真看了两天之后,才看懂它的实现原理,我下面把通自己的理解,进行了精简.只程现原理,方便日后的回顾.&l ...

  5. geotrellis使用(九)使用geotrellis进行栅格渲染

    目录 前言 图像渲染 总结 参考链接 一.前言        前面几篇文章讲解了如何使用Geotrellis进行数据处理.瓦片生成等,今天主要表一下如何使用Geotrellis进行栅格渲染.     ...

  6. IOS中block和代理

    从ios4开始引入block,就是代码块,结构类c语言 基本结构 返回值 (^block名称)(参数):int(^BlockName)(int):返回值为int型,参数是一个int值的叫BlockNa ...

  7. Linux入门

    参考资料:http://www.92csz.com/study/linux/ [Linux系统目录结构] 登录系统后,在当前命令窗口下输入 ls / 你会看到 以下是对这些目录的解释: /bin bi ...

  8. Masonry_设置比例

    [self.bgView addSubview:self.progressImageView]; [self.progressImageView mas_makeConstraints:^(MASCo ...

  9. 用react的ReactCSSTransitionGroup插件实现简单的弹幕动画

    1,开始的思路 公司想做直播方面的项目,并想加入弹幕的功能,直播的页面已经作为一个组件放在了用react+redux写好的一个网站项目上.所以技术老大让我研究下如何用react实现弹幕的功能.下面我就 ...

  10. 在IIS下部署Thinkphp项目,验证码不能显示的解决办法

    由于公司租用的是虚拟空间,而且用的是IIS服务器,所以部署PHP的时候就出现很多问题:比如昨天就碰到这个问题:在IIS下部署Thinkphp项目,验证码不能显示 这是生成验证码的方法: // 制作专门 ...