gulp和融合rollup使用及插件整理

 浆糊之家   2018-12-30 14:37   595 views 热度值

二款打包工具简介

Rollup打包工具

极简配置,相对打包的更纯粹JS文件,打包后的也更清晰,这款打包做的事情比较少,只是JS模块打包器,不像其它打包工具比较庞大臃肿。

 

gulp打包工具

极简配置,而且是打包基于类似流式管道编译(编译速度非常快),易于学习API也不太多,不像webpack复杂的构建打包

二个命令都要安装的哦,一个全局一个本地

 

二款打包工具融合篇

每款打包工具应用场景不一样,所以融合起来让每一个工具作他优势的本份工作,先安装上面介绍的基础包,另外单个独立使用使用看官网是很容易上手的,本篇文章只作融合相关资料介绍

 

1、先安装gulp相关插件

 

gulp-uglify压缩插件,

gulp-concat合并插件

gulp-watch 监听

gulp-plumber错误提示

gulp-strip-comments 删除注释

gulp-sourcemaps生成map日志

相关每个插件集成安装命令

 

gulp这二个组件的编译看自己需求安装

gulp-babel编译语法插件,它提供二种下载模式,本次使用ES7编译模块

gulp-streamify 提供给上面gulp-babel 插件组件使用

 

2、安装rollup相关插件

rollup-plugin-babel 编译语法插件,此次使用了babel7的编译包

 

rollup-plugin-commonjs 打包 commonjs模块

rollup-plugin-node-resolve 插件可以告诉 Rollup 如何查找外部模块

安装上面二个插件命令

 

3、环境介绍

这是.babelrc文件

这是包情况(测试环境)

 

4、融合二个工具

为什么webpack有打包编译压缩,我们还要在单独融合另外二款软件呢??因为webpack打包太慢了,而且我们整合的打包工具只为打包我们在node及后面配置应用的打包编译压缩,利用rollup把多余未用到的代码压缩清除,在通过gulp流式打包(是否压缩看情况)

创建gulpfile.js,详细说明直接放备注中,内容如下:

这时候融合结束,平常打包node相关配置或是其它指定文件的(非前端业务层),

启动压缩打包清理命令 ,默认会找到事件6to5,启动这个事件并且监听如有变动还会在重新编译

这时候在node层的优化及给webpack层的配置会更精简(非人看),因为里面还有一份原代码供自己调试,并且随时打包编译压缩

 

 

gulp常用插件介绍整理

到哪儿去找最好用的gulp插件

1、gulp-plugins搜索

https://gulpjs.com/plugins/
列表中的每个插件都有归类的标签,可以点相关标签去查看相近的插件有哪些

2、npm插件搜索

输入gulp,即可列出所有包名带gulp的插件,还可以从最佳,受欢迎程度,代码质量,维护等几个纬度对搜索结果进行排名

3、别人的team总结的资源

https://github.com/Platform-CUF/use-gulp

这个team总结的常用的gulp插件比较详细,每一个都有github的连接.还列有gulp相关的视频资源连接

匹配符 *、**、!、{}

 

我常用的gulp插件

file文件操作

del (替代gulp-clean)

gulp-rename

描述:重命名文件。

 

gulp-concat

描述:合并文件。

 

gulp-filter

描述:在虚拟文件流中过滤文件。

 

gulp-header

描述:给文件头部添加信息

 

 

 

压缩

gulp-uglify

描述:压缩js文件大小。

 

gulp-csso

描述:压缩优化css。

 

gulp-html-minify

描述:压缩HTML。

 

gulp-imagemin

描述:压缩图片。

 

gulp-zip

描述:ZIP压缩文件。

 

JS/CSS自动注入

gulp-autoprefixer

描述:自动为css添加浏览器前缀。

查看更多配置:options

更多浏览器版本:browsers

gulp-useref

描述:解析构建块在HTML文件来代替引用未经优化的脚本和样式表。

作用:src中的html文件中引用多个样式文件,通过构建工具的文件合并多个文件为*all.css. 新的html文件里就自动删除以前的多个样式文件的引用,重新引用*all.css文件

替换之后的index.html中就会变成:

gulp-rev

描述:给静态资源文件名添加hash值:unicorn.css => unicorn-d41d8cd98f.css

gulp-rev-replace

描述:重写被gulp-rev重命名的文件名。

gulp-html-replace

描述:替换html中的构建块。

替换之后的index.html中就会变成:

gulp-uncss

描述: gulp插件去除css文件中的 未用到的css

 

gulp-cssmin

描述: css压缩

 

 

流控制

gulp-if

描述:有条件地运行一个任务。

 

工具

gulp-load-plugins

描述:从包的依赖和附件里加载gulp插件到一个对象里给你选择。

gulp-sass

描述:编译sass。

gulp-babel

描述:将ES6代码编译成ES5。

 

gulp-util

描述:一个实用工具,当初为了知道为何js压缩失败而找到这个工具用来打印错误日志

 

gulp-connect

描述: connect 本地服务器

 

gulp watch

描述: gulp 观察,定义哪些文件发生变化时,执行哪些gulp任务

 

gulp task

描述: gulp 任务,定义gulp任务名和任务流

 

 发表评论


表情