尚硅谷前端Gulp教程学习笔记
· 阅读需 10 分钟
这篇文章是尚硅谷前端Gulp教程的学习笔记。
环境搭建
教程使用的Gulp是3.9,而现在Gulp已经升级到了4.0,改动较大,但是并不影响学习。为了避免环境不一致导致的各种坑,可以安装和教程一致的版本。目前,Node.js的LTS版本为v12.16,已经不兼容Gulp 3.9了,如果Node.js版本过新,会报错:
fs.js:35
} = primordials;
^
ReferenceError: primordials is not defined
为了更优雅地管理Node.js的版本,推荐使用nvm。Node.js v11.15.0和Gulp 3.9是兼容的,可以安装此版本。安装nvm后,执行下面的命令安装Node.js v11.15:
$ nvm install v11.15.0
$ nvm use v11.15.0
在WebStorm中新建Node.js项目,项目目录下会有package.json
,编辑之,内容如下:
{
"name": "gulp-learn",
"version": "1.0.0",
"devDependencies": {
"gulp": "^3.9.1",
"gulp-clean-css": "^3.9.0",
"gulp-concat": "^2.6.1",
"gulp-connect": "^5.0.0",
"gulp-htmlmin": "^3.0.0",
"gulp-less": "^3.3.2",
"gulp-livereload": "^3.8.1",
"gulp-load-plugins": "^1.5.0",
"gulp-rename": "^1.2.2",
"gulp-uglify": "^3.0.0",
"open": "0.0.5"
}
}
然后执行以下命令:
$ npm install -D
$ npm install -g gulp@3.9.1
Gulp简介
个人觉得Gulp和make是类似的,它们都可以定义一些任务,任务之间可以定义一些依赖关系,然后指定任务进行自动构建。不同的是,make是通过组合Shell命令的方式实现任务,一般用于C++程序编译;而Gulp则是通过组合Gulp插件的方式实现任务,一般用于网页静态资源构建。Gulp能自动化完成javascript、sass、less、css等文件的合并、压缩、检查、监听文件变化、浏览器自动刷新、测试等任务。
核心API
gulp.task
用于定义任务gulp.src
用于将源文件读取到Gulp内存区域gulp.dest
用于输出文件gulp.watch
用于监听文件变化gulp.pipe
也就是管道,用于传递处理的文件