gulp 是基于 node 实现 Web 前端自动化开发的工具,利用它能够极大的提高开发效率。 在 Web 前端开发工作中有很多“重复工作”,比如压缩CSS/JS文件。而这些工作都是有规律的。找到这些规律,并编写 gulp 配置代码,让 gulp 自动执行这些“重复工作”。
1.安装
//全局安装
npm install -g gulp
或
cnpm install -g gulp
2.在工程中生成package.json文件
npm init
3.在工程中安装gulp
npm install gulp --save-dev
或
cnpm install gulp --save-dev
4.在工程的根目录下创建gulpfile.js文件
5.gulp使用前的准备
5.1安装需要使用的各种插件(基于gulp的插件 如压缩js可以使用gulp-uglify插件,压缩css,html,images等插件)
5.2在 gulpfile.js
中编写代码
// 获取 gulp
var gulp = require('gulp')
require()
是 node (CommonJS)中获取模块的语法。在 gulp 中你只需要理解
require()
可以获取模块。
5.3获取 gulp-uglify
组件
// 获取 uglify 模块(用于压缩 JS)
var uglify = require('gulp-uglify')
5.4创建压缩任务
// 压缩 js 文件
// 在命令行使用 gulp script 启动此任务
gulp.task('script',//任务名 function() {
// 1\. 找到指定文件
gulp.src('js/index.js')
// 2\. 压缩文件
.pipe(uglify())
// 3\. 另存压缩后的文件地址
.pipe(gulp.dest('dist/js'))
})
在gulp4以上,写成
// 压缩 js 文件
// 在命令行使用 gulp script 启动此任务
gulp.task('script',async //异步处理 function() {
// 1\. 找到指定文件
gulp.src('js/index.js')
// 2\. 压缩文件
.pipe(uglify())
// 3\. 另存压缩后的文件地址
.pipe(gulp.dest('dist/js'))
})
以上为压缩js文件,其他操作步骤和上面类似。
6.进行gulp操作
$ gulp 任务名
注意:gulp4以上如果需要同时压缩多个文件,除了在回调函数前面加async异步处理外,执行如下操作
gulp.task("新的任务名",gulp.series("任务名1","任务名2",....,"任务名n",function(){
console.log("hello");
});
多个文件同时压缩时,可以不传任务名运行
$ gulp
如果一个文件夹下有多个文件需要处理,可以进行批量操作
// 压缩 js 文件
// 在命令行使用 gulp script 启动此任务
gulp.task('script',async //异步处理 function() {
// 1\. 找到指定文件
gulp.src('js/*.js') //*表示js文件夹下后缀名为js的文件全部压缩
// 2\. 压缩文件
.pipe(uglify())
// 3\. 另存压缩后的文件地址
.pipe(gulp.dest('dist/js'))
})
以上为js批量压缩,其他批量压缩与其类似。