自动化构建工具(gulp)

gulp中文官网

gulp是基于nodejs的一套自动化构建工具,特点就是如同官网所说的一样,易于构建,易于学习,构建快速。

大致使用流程:
安装nodejs -> 全局安装gulp -> 项目安装gulp以及gulp插件 -> 配置gulpfile.js -> 运行任务
具体:
a. 安装 NodeJS,npm
npm 安装插件时语法:
npm install
 name [-g] [--save-dev]
b. 选择安装 cnpm,cnpm能够替换npm的功能
npm install -g cnpm --registry=https://registry.npm.taobao.org
可使用 cnpm 安装第三方插件:
cnpm install <name> [-g] [--save-dev]
c. 全局安装 gulp
cnpm install gulp -g

(注:[ ]表示可选项,-g表示全局安装,没有此参数表示仅在当前文件夹下安装,--save是存放安装信息于packge.json,-dev是表示存放在packge.json的devDependencies依赖列表中)
前 a,b,c 三步执行一次即可


以下步骤是在项目目录下执行:
d. 进入项目目录下(命令提示符下),创建 package.json 文件:
cnpm init
package.json是基于nodejs项目必不可少的配置文件,它是存放在项目根目录的普通json文件
e. 项目本地安装 gulp:
cnpm install gulp --save-dev
项目目录下出现 node_modules 文件夹


文件合并:
gulp-concat
重命名:
gulp-rename
f. 项目本地安装 gulp 插件:
g. 项目根目录下创建 gulpfile.js 文件:

配置方法如下:

var gulp = require("gulp"),
	minifyCss = require("gulp-clean-css"),
	uglify = require("gulp-uglify"),
	htmlMin = require("gulp-htmlmin"),
	sass = require("gulp-sass"),
	livereload = require("gulp-livereload");

// 创建gulp任务:压缩CSS
gulp.task("css", function(){
	gulp.src("css/*.css")
	    .pipe(minifyCss())
	    .pipe(gulp.dest("dist/css"));
});

// 创建gulp任务:压缩JS
gulp.task("js", function(){
	gulp.src("js/*.js")
		.pipe(uglify())
		.pipe(gulp.dest("dist/js"));
});

// 创建gulp任务:压缩html
gulp.task("html", function(){
	gulp.src("html/*.html")
		.pipe(htmlMin({collapseWhitespace: true, minifyCSS:true, minifyJS:true}))  //压缩空白:是;压缩CSS代码:是;压缩JS代码:是;
		.pipe(gulp.dest("dist/html"));
});

// 创建gulp任务:编译 SASS
gulp.task("sass", function(){
	gulp.src("sass/*.scss")
		.pipe(sass({outputStyle: 'compressed'})) //sass输出方式:compressed
		.pipe(gulp.dest("dist/css"))
		.pipe(livereload());
});

// 创建gulp监视任务:监视到scss文件的修改则执行sass任务
gulp.task("watch", function(){
	livereload.listen();
	gulp.watch("sass/*.scss", ["sass"]);
})

// 创建gulp默认任务
gulp.task("default", ["css", "js"]);
h. 运行任务:
命令提示符下:gulp 任务名

https://www.npmjs.com 可查询各插件使用的方式

常用插件
CSS压缩:
cnpm install gulp-clean-css --save-dev
JS压缩(暂不支持ES6语法):
cnpm install gulp-uglify --save-dev
html压缩:
cnpm install gulp-htmlmin --save-dev
sass编译:
cnpm install gulp-sass --save-dev
自动刷新:
cnpm install gulp-livereload --save-dev
安装的gulp插件要配合浏览器中的livereload插件一起使用。在访问资源时要能够自动刷新,需要在服务器环境下,即资源访问的协议为http
零配置服务器WEB容器插件:
http-server       -- 只能部署静态资源
可以将任意目录变成web容器目录
cnpm install http-server -g

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值