Gulp40入门指南
安装Gulp官网 gulp4.0分离了处理和核心部分,所以需要分别安装这两个包,另外对环境要求如下: node >= 8.11.1npm >= 5.6.0npx >= 9.7.1全局安装gulp-clinpm i -g gulp-cli本地安装gulpnpm i -D gulp查看版本号$ gulp -v# 输出CLI version: 2.2.0Local version: 4.0.2配置文件在项目根目录创建gulpfile.js文件(如果使用ts或者babel,也可用gulpfile.ts、gulpfile.babel.js分别代替),此文件即gulp会默认读取的配置文件,我们可以在里面配置需要的task。如果task较多或者较复杂,可以创建gulpfile.js目录,在目录中拆分task为多个文件,只要保证该目录下有个index.js作为入口即可。 Tasktask分为两种: Private tasks:配置文件中的一个function,仅能在该文件中使用Public tasks:将Private tasks导出,可以供gulp命令执行const { series, parallel } = require('gulp');// Private tasksfunction clean(cb) { // body omitted cb();}// Private tasksfunction build(cb) { // body omitted cb();}exports.build = build; // Public tasks, 执行gulp buildexports.default = series(clean, parallel(css, javascript)); // Public tasks, 执行gulp注意:在task中,操作完成时,我们必须要通过cb()或者return的方式来告知gulp此任务已完成。 // cbfunction clean(cb) { del(['dist]); cb();});// return function minifyjs() { return src('src/**/*.js') .pipe(minify()) .pipe(dest('dist'));});function promiseTask() { return new Promise(function(resolve, reject) { // body omitted resolve(); });});运行taskgulp <export task name> gulp // 导出为default的task可以直接允许gulp组合taskseries:序列(顺序执行)// task1执行完再执行task2exports.taskName = series(task1, task2)parallel:并行(同时执行)// task1和task2同时执行exports.taskName = parallel(task1, task2)混用:exports.taskName = series(clean, parallel(css, javascript))输入与输出gulp借鉴了Unix的管道(pipe)思想,处理文件采用流的方式,前一步的输出作为后一步的输入,中途不会在磁盘写入文件,仅在dest时输出文件,所以非常快速高效。 ...