gulp 主要用来在部署代码前,对项目中的.js、.html、.css
以及图片文件进行打包压缩,目的是减少在请求中的网络资源消耗。
安装
带--save-dev
参数安装时,npm会自动下载相关依赖包,并且自动完成配置!
创建 gulp 工作目录
gulp_work
并安装 gulp 核心组件
1 | # mkdir gulp_work |
安装 gulp 插件
1 | # npm install gulp-minify-css gulp-concat gulp-uglify gulp-imagemin gulp-clean gulp-rename gulp-htmlmin --save-dev |
插件名 | 用途 |
---|---|
gulp-imagemin | 图片压缩 |
gulp-ruby-sass | sass |
gulp-minify-css | css压缩 |
gulp-jshint | js检查 |
gulp-uglify | js压缩 |
gulp-rename | 重命名 |
gulp-concat | 合并文件 |
gulp-clean | 清空文件夹 |
gulp-htmlmin | html压缩、处理 |
gulp 工作目录结构
在 gulp_work 目录下,建立dist目录用来存放打包后的代码,建立src目录用来存放期望被打包处理的代码。在src目录下建立css、js、img、html目录,用来存放对应的.css、.js、.html
与图片文件(注意!这种目录结构,仅仅是本文章例子中应用的,你完全可以自己定义一个符合你项目需求的目录结构,只要在构建文件里写好规则就行)
添加 gulp 入口文件 gulpfile.js
gulpfile.js
1 | var gulp = require('gulp'), |
执行gulp
src/js
目录下存在 test.js,内容为:
test.js
1 | (function() { |
执行gulp命令1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19# /opt/nodejs/bin/gulp
[06:02:28] Using gulpfile /home/baichao/nodejs/gulp/gulpfile.js
[06:02:28] Starting 'clean'...
[06:02:28] Finished 'clean' after 22 ms
[06:02:28] Starting 'default'...
[06:02:28] Starting 'minifycss'...
[06:02:28] Starting 'uglify'...
[06:02:28] Starting 'imagemin'...
[06:02:28] Starting 'htmlmin'...
[06:02:28] Finished 'htmlmin' after 2.8 ms
[06:02:28] Starting 'watch'...
[06:02:28] Finished 'watch' after 15 ms
[06:02:28] Finished 'default' after 33 ms
[06:02:28] Finished 'minifycss' after 42 ms
[06:02:28] gulp-imagemin: Minified 0 images
[06:02:28] Finished 'imagemin' after 42 ms
[06:02:29] Finished 'uglify' after 98 ms
[06:05:05] Starting 'uglify'...
[06:05:05] Finished 'uglify' after 19 ms
你会在dist/js
目录下看到一个test.min.js文件
test.min.js
1 | !function(){function n(){}var n=1,o=2;console.log(n+o)}(); |
你同时会注意到一点,终端内gulp实际上没有结束运行,此时如果你更改src内的文件,dist目录内将自动生成新版本的代码