前端开发过程当中使用自动化构建工具大大提升了咱们的工做效率。gulp就是其中一款十分优异的自动化构建工具,具备清晰的API、丰富的插件。刚接触前端开发时我就享受了gulp带来的便利。javascript
之前的页面开发主要工做就是编写html、css、js文件,后来less、es6和各类前端框架的出现大大减小开发代码量,要使用它们就必须先编译,从而逐渐分化出开发流程:css
自动化构建工具就是能让咱们专心写业务代码,其余的事由工具自动完成。html
gulp中文网前端
yarn add gulp gulp-load-plugins ejs minimist --dev
复制代码
gulp的任务实际上就是执行一系列操做,这些操做放在一个函数里,以下:vue
gulp.task('taskname', function() {
// do somethings
});
复制代码
利用node命令能够执行node.js程序,但没法清楚表达程序的意义。而经过gulp任务的概念能够从逻辑上更好地管理node.js程序。作法是gulp引用封装好的js模块,再定义gulp task调用模块里的方法。java
利用这种思路能够实现一个自动建立项目目录和根据模板生成新页面的脚手架。node
yarn add gulp-htmlmin gulp-html-replace gulp-rev gulp-rev-collector --dev
复制代码
yarn add gulp-less gulp-autoprefixer gulp-clean-css gulp-concat-css --dev
复制代码
yarn add gulp-babel babel-core babel-preset-es2015 gulp-uglify gulp-concat --dev
复制代码
yarn add browser-sync --dev
复制代码
使用 gulp-imagemin压缩图片,效果不理想可以使用tinyjpgwebpack
使用gulp-rename对文件重命名再输出。git
使用gulp-delete-file删除文件es6
使用gulp-clean删除文件夹
使用gulp-ssh上传文件到服务器(不多应用)
接触过gulp 和 webpack 以后会感受到到二者有不少方面的不一样:
在实际开发中用到webpack的机会愈来愈大,缘由是响应式的前端框架语言(React,Vue,Angular)已经被普遍使用了,这些框架推荐的脚手架工具默认选择了webpack来更好地编译使用到的技术 (.jsx,.vue),不管是移动端应用仍是中后台管理系统页面开发都有了成熟的实践和各类开源库支持。
gulp 的使用场景剩下的就是传统的JS/JQuery开发,这种开发方式没有特殊的文件须要编译(.jsx,.vue),能够专一于开发流程设计相应的gulp任务来提升开发的效率。前端运营页面开发就是场景之一,功能简单、迭代快速、DOM操做复杂,使用gulp成为更好的选择。还有一个场景就是小程序开发,在开发者工具上不能知足咱们开发的技术需求,复杂的小程序开发能够用gulp补全流程任务,如 编译less、加md5码、替换资源路径等。
详见仓库