构建前端gulp自动化
看了很多关于Gulp自动化的相关教程,很感谢大神们的教程,
因为担心自己会忘记啥的,所以就把自己搭建gulp自动化的过程记录下来~~~
gulp是依赖于Nodejs的,所以最好是有点nodejs的基础,
搭建gulp分几步呢?如下:
1.安装Nodejs
安装nodejs 我们可以直接去官网下载就好啦
https://nodejs.org/en/
我们选择第一个就好啦(我安装的是下面圈起来的这个版本)
安装好Node以后我们需要安装gulp
2.全局安装gulp
cnpm install gulp -g
这些安装好了以后,我们就准备开始为项目搭建gulp了
3.进入项目文件夹,下载gulp
npm install gulp
注意:在这里有一个问题,明明我们是在gulptest文件中下载的gulp 为什么node_modules文件夹会跑到外面去呢???
-------那是因为我们没有初始化 没有生成package.json文件,所以我们应该生产package.json文件以后再下载gulp
npm init
npm install --save-dev gulp
这样我们就在项目文件夹中安装好gulp 接下来我们就开始写gulpfile.js
4. 建立gulpfile.js文件
就像gruntjs需要一个Gruntfile.js
文件一样,gulp也需要一个文件作为它的主文件,在gulp中这个文件叫做gulpfile.js
。新建一个文件名为gulpfile.js
的文件,然后放到你的项目目录中。之后要做的事情就是在gulpfile.js
文件中定义我们的任务了。下面是一个最简单
的gulpfile.js
文件内容示例,它定义了一个默认的任务。
var gulp = require('gulp');
gulp.task('default',function(){
console.log('hello world');
});
此时我们的目录结构是这样子的:
├── gulpfile.js
├── node_modules
│ └── gulp
└── package.json
现在我们来运行一下gulp 看看返回的是什么
在这里输出了 hello world
说明这个简单的gulpfile文件是可行的
但是呢? 我们平时做项目需要的是搭建一个自动化,所以单单这样是不行的,那我们就继续往下
5.利用connect来搭建创建一个web服务
//引入gulp包和gulp-connect包
var gulp=require('gulp');
var connect=require('gulp-connect'); gulp.task('webserver', function() {
connect.server();
});
gulp.task('default', ['webserver']);
这里我们利用gulp-connect搭建了一个自动化,所以我们的node_modules必须含有gulp-connect的包,如果没有需要下载
在gulp中require引入的包,如果没有则需要自己手动下载 npm install 包名称
最后我们再gulp 就可以了
然后我们打开浏览器localhost:8080,即可浏览html文件
但是每次更改完以后还是要我们自己手动刷新,不过是相当于放到了一个环境中,能更贴切正式环境罢了,
有时候我们的本地和正式环境有一点差距,需要我们自己去把控避免了
6.web服务自动刷新
我们会发现上面搭建的自动化服务没有自动刷新,那应该怎么办呢?
//引入插件
var gulp = require('gulp');
var connect = require('gulp-connect'); //创建watch任务去检测html文件,其定义了当html改动之后,去调用一个Gulp的Task
gulp.task('watch', function () {
gulp.watch(['./**/*.html'], ['html']);
});
//使用connect启动一个Web服务器
gulp.task('connect',function(){
connect.server({
root:'',
port:8888,//更改端口名
livereload:true
})
})
gulp.task('html', function () {
gulp.src(['./*.html'],['./**/*.html'])
.pipe(connect.reload());
});
//运行Gulp时,默认的Task
gulp.task('default', ['connect', 'watch']); 打开git 输入gulp j即可启动服务
然后我们来看一下目录结构
我们打开localhost:8080然后输入你要查看的文件或者文件夹中的某个文件即可
比如我要查看demo.html
我们在编译器中更改某个文件,那么更改完毕一定要ctrl+s保存一下,这样就能看到浏览器中也跟着更改
构建前端gulp自动化的更多相关文章
- 前端gulp自动化构建配置
为了节省http请求次数.节约带宽,加速页面渲染速度,达到更好用户体验的目的.现在普遍的做法是在上线之前做静态资源的打包构建,也就是静态资源的合并压缩: 这里使用的是gulp,当然现在有更强大的模块化 ...
- 【gulp】gulp + browsersync 构建前端项目自动化工作流
什么是 gulp? gulp.js 是一个自动化构建工具,开发者可以使用它在项目开发过程中自动执行常见任务.gulp.js 是基于 node.js 构建的,利用 node.js 流的威力,你可以快速构 ...
- 前端自动化构建工具gulp的使用总结
前端自动化构建工具gulp的使用总结 博主最近偶的空闲,在此对gulp的使用做一个总结,让小伙伴知道如何合理的使用gulp以及gulp的使用技巧. 谈到gulp,有人可能就会想到另外一个构建工具gru ...
- 前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍
前端开发自动化工作流工具,JavaScript自动化构建工具grunt.gulp.webpack介绍 前端自动化,这样的一个名词听起来非常的有吸引力,向往力.当今时代,前端工程师需要维护的代码变得及为 ...
- Gulp构建前端自动化工作流之:常用插件介绍及使用
在对Gulp有了一个初步的了解之后,我们开始构建一个较为完整的Gulp开发环境. 本文主要分为6个段落: 1. 构建项目目录结构(Directory Structure Build) 2. 插件介绍及 ...
- 前端自动化构建工具gulp记录
一.安装 1)安装nodejs 通过nodejs的npm安装gulp,插件也可以通过npm安装.windows系统是个.msi工具,只要一直下一步即可,软件会自动在写入环境变量中,这样就能在cmd命令 ...
- Gulp构建前端自动化项目
类似于Grunt,gulp是另一个同样功能很强大的前端项目自动化利器. 下面是项目的效果:
- 前端构建工具gulp使用
前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中文文档 https://g ...
- (转载)前端构建工具gulp使用
前端构建工具gulp使用 前端自动化流程工具,用来合并文件,压缩等. Gulp官网 http://gulpjs.com/ Gulp中文网 http://www.gulpjs.com.cn/ Gulp中 ...
随机推荐
- 修改minifest使桌面软件支持高dpi
在VisualStudio中可以很方便的设置manifest以支持高dpi的用户界面.当然也可以手工修改manifest文件来添加对高dpi的支持. QQ在高dpi方面做的尤其差,对高dpi的支持迟迟 ...
- CSS之表格边框合并、兄弟标签外边距合并、父子标签的外边距合并
本文内容: 表格边框合并 兄弟标签外边距合并 父子标签的外边距合并 首发日期:2018-05-01 表格边框合并: 发生情况: 当设置了cellpadding="0" cellsp ...
- 接口的绑定方案和动态SQL
1. 接口绑定方案 MyBatis中, 提供了一套接口绑定方案. 程序员可以提供一个接口, 然后提供对应接口的一个mapper.xml文件. MyBatis会自动将接口和xml文件进行绑定. 实际上就 ...
- springmvc复习笔记----springmvc最简单的第一个例子:RequestMapping试水
结构 用到的包 web.xml <url-pattern>/</url-pattern>中可以换成其他的后缀*.do ,*. sb …… <?xml version=& ...
- web前端(13)—— 了解JavaScript,JavaScript的引入方式
从本篇博文开始,将进入web前端方便最关键最重要的部分——javascript,学到后面你就知道它真的太重要了 什么是JavaScript JavaScript一种直译式的脚本语言,是一种动态类型.弱 ...
- Linux进程调度器的设计--Linux进程的管理与调度(十七)
1 前景回顾 1.1 进程调度 内存中保存了对每个进程的唯一描述, 并通过若干结构与其他进程连接起来. 调度器面对的情形就是这样, 其任务是在程序之间共享CPU时间, 创造并行执行的错觉, 该任务分为 ...
- Linux进程退出详解(do_exit)--Linux进程的管理与调度(十四)
Linux进程的退出 linux下进程退出的方式 正常退出 从main函数返回return 调用exit 调用_exit 异常退出 调用abort 由信号终止 _exit, exit和_Exit的区别 ...
- C#反射の一个泛型反射实现的网络请求框架
点击下载源码 C#反射の反射详解(点击跳转)C#反射の反射接口(点击跳转)C#反射反射泛型接口(点击跳转)C#反射の一个泛型反射实现的网络请求框架(点击跳转)
- python之常用模块(续)
time模块 random模块 sys模块 os模块 序列化模块 time模块 有三种方式表示 在Python中,通常有三种方式来表示时间:时间戳.元组(struct_time).格式化的时间字符串 ...
- EBS採购模块中的高速接收和高速接收事务
EBS採购模块中的高速接收和高速接收事务 (版权声明.本人原创或者翻译的文章如需转载,如转载用于个人学习,请注明出处.否则请与本人联系,违者必究) 高速功能是一个高速输入收货和接收事务的方法. 在收货 ...