最新公告
  • 欢迎您光临起源地模板网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!立即加入钻石VIP
  • JavaScript 模块打包器——Rollup

    正文概述 掘金(勾崽)   2020-12-18   538

    最近无意间和同事聊到 Rollup 这个 JavaScript 模块打包器。出于“开源”的宗旨,今天就简单细腻地给大家讲讲 Rollup。

    官方介绍

    首先,可以看下中文官网。(英语读写无障碍的同学请移驾)

    Rollup 是一个 JavaScript 模块打包器,可以将小块代码编译成大块复杂的代码,例如 library 或应用程序。

    Rollup 对代码模块使用新的标准化格式,这些标准都包含在 JavaScript 的 ES6 版本中,而不是以前的特殊解决方案,如 CommonJS 和 AMD。

    ES6 模块可以使你自由、无缝地使用你最喜爱的 library 中那些最有用的独立函数,而你的项目不必携带其他未使用的代码。

    ES6 模块最终还是要由浏览器原生实现,但当前 Rollup 可以使你提前体验。

    官方解说确实艰涩难懂,我们可以 get 以下几点:

    • 专属 JavaScript 打包器

    • 划整为一

    • 适合库和框架

    • 具有 Tree shaking 功能

    实际操作

    话不多说直接上手,我们先全局安装这个 rollup 工具。

    npm install -g rollup

    安装成功之后,有心的小伙伴可以 rollup -h || rollup --help 看下它的所有命令行,这里我就不细说了。

    直接使用配置文件打包 rollup.config.js。当然我们也可以自定义打包文件,它里面通过 Esmodule 的方式导出一个对象。

    //rollup.config.js
    export default {
        input
        output
        plugin
    }
    

    配置完成之后在终端 rollup --config 或 -c 才可以使用 rollup 的配置文件。

    # 默认使用rollup.config.js
    $ rollup --config
    # 或者, 使用自定义的配置文件,这里使用my.config.js作为配置文件
    $ rollup --config my.config.js
    

    配置项

    Input 入口文件配置,可以是字符串也可以是数组。

    • 字符串——说明是单文件打包

    • 数组——说明是多文件打包

    Output 文件出口配置是一个对象。

    {

    file:"",//文件打包后出口文件名称

    format:"iife" // 打包后文件格式 iife 自执行函数 cjs 是 commonjs 规范 amd 是 amd 规范等

    }

    Plugin 插件配置 它是一个数组,常用插件如下:

    • rollup-plugin-json rollup 读取 json 文件

    • rollup-plugin-node-resolve rollup可以查找第三方模块

    • rollup-plugin-commonjs 可以使用 commonjs 规范的模块

    代码分包

    如果我们在使用过程中需要使用分包这个功能,就需要设置 output 的配置项。

    output:{
        dir:"dist",
        format:"amd"
    }
    

    输出到 dist 文件夹下,采用 amd 规范输出。

    多入口打包

    多入口打包也很简单,就是将 input 设置为一个数组,元素就是每个要打包文件路径。

    对比 webpack

    • Rollup 只能处理 js 模块,而 webpack 可以处理任何资源,可以把所有的资源都当成模块来进行处理

    • Rollup 多用于类库开发的打包

    • Rollup 一般不会产生额外的代码(具有 Tree shaking 功能)

    • Rollup 会把所有资源放在一起加载,webpack 可以按需拆分

    综上就是 rollup 的基本使用,小伙伴们可以动手操作一番,体验下 Rollup 这个小巧工具的打包~


    起源地下载网 » JavaScript 模块打包器——Rollup

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    模板不会安装或需要功能定制以及二次开发?
    请QQ联系我们

    发表评论

    还没有评论,快来抢沙发吧!

    如需帝国cms功能定制以及二次开发请联系我们

    联系作者

    请选择支付方式

    ×
    迅虎支付宝
    迅虎微信
    支付宝当面付
    余额支付
    ×
    微信扫码支付 0 元