关于gulp:从实战带你认识gulp打包前端项目并实现防缓存
gulp是什么?一个基于node的前端自动化工作构建工具,应用经典回调+链式调用的形式实现工作的自动化 (src.pipe(...).pipe),gulp其实和webpack很类似,然而gulp侧重点不同,gulp更偏重前端流程自动化、工作执行(通过工作使开发提效),就像一条流水线。而webpack则是更偏重用于打包前端资源,所有皆可打包成模块。官网文档:https://www.gulpjs.com.cn/ gulp的利用场景?为什么用gulp?1.构建前端自动化流程比拟好的计划,一些反复的人工操作能够让gulp去做,并且代码量不大,晋升开发效率(自动化实现前端工作流工作:单元测试、优化、打包)。 2.与其余构建工具相比开发简略,易上手。基于nodejs 文件系统流,运行速度快。 3.更适宜原生前端我的项目的打包。有助于了解前端工程化。 4.公布通用型组件或者npm库的时候能够用gulp来进行打包。 gulp的装置在你的我的项目目录中执行 npm install -g gulp 在根目录下创立gulp的配置文件gulpfile.js,install一下文件中的依赖,之后就能够间接在这个文件中定义咱们的gulp工作了 var gulp=require("gulp");//引入gulp模块gulp.task('default',function(){ console.log('hello world');});而后间接终端中进入当前目录运行 gulp 命令就开始执行工作了。gulp前面也能够加上要执行的工作名,例如gulp task1,如果没有指定工作名,则会执行工作名为default的默认工作。gulp罕用的几个api : task, series, parallel, src, pipe, dest task: 创立一个工作series:程序执行多个工作prallel:并行执行多个工作src:读取数据源转换成streampipe:管道-能够在两头对数据流进行解决dest:输入数据流到指标门路gulp理论利用之原生前端我的项目打包:以一个jQuery原生我的项目为例子,目录构造: 门路表:因为我的项目构造有点非凡,资源比拟扩散,html的js、css保留在对应模块文件夹中。而公共的js、css却在html的里面的文件中,所以就设置了2个入口(以js资源为例):一个根目录入口、一个html入口 scriptsjs: {//根目录入口 src: [ "./temp/js/**/*.js",//temp/js/之下的所有文件夹下的js "!./temp/**/*.min.js", //不匹配压缩过的js,避免二次压缩 "!./temp/js/common.js", "!./temp/mpcc/**/*.js",//这个文件不须要压缩解决所以不匹配 ], dest: destDir + "/js",//进口 }, scriptshtml: {//html入口 src: [ "./temp/html/**/*.js", "!./temp/html/BasicSet/RoleManage/js/*.js",//不匹配 "!./temp/html/BasicSet/UserAuthorization/js/*.js", ], dest: destDir + "/html", },你没看错,是不是有点像webpack中的entry和output。* 通配符是代表所有文件夹、!是代表不匹配。这里能够本人选哪些文件不须要进行匹配 ...