轻松使用gulp

1,232 阅读2分钟

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批量压缩,其他批量压缩与其类似。