前端工程化——其他打包工具

Rollup

概述

  • 仅仅是一款ESM的合并、打包器,并无奇他额外的类似于webpack的功能
  • 更为小巧
  • Rollup 中并不支持类似 HMR 这种高级特性
  • Rollup 并不是要与 Webpack 全面竞争
  • 提供一个充分利用ESM各项特性的高效打包器

快速上手

命令行方式

  • 安装yarn add rollup --dev
  • 使用 yarn rollup,即不传递任何参数的情况下,会出现帮助信息
  • yarn rollup ./src/index.js --format iife --file dist/bundle.js
    • 第一个参数是入口文件
    • 第二个参数是输出格式,上述采用的是自执行函数的格式
    • 第三个参数是输出的文件路径
  • 输出的结果只会保留用到的部分,会自动使用tree-shaking的方式打包代码,十分简洁

配置文件方式

  • 新建rollup.config.js文件
export default {
   
  input: 'src/index.js',
  output: {
   
    file: 'dist/bundle.js',
    format: 'iife'
  }
}
  • 运行yarn rollup --config来实现以配置文件的形式启动,还可以后面指定不同环境的入口文件
    • yarn rollup --config rollup.prod.js
    • yarn rollup --config rollup.dev.js

使用插件

  • 加载其他类型的文件

  • 导入 CommonJS 模块

  • 编译 ECMAScript 新特性

  • Rollup 支持使用插件的方式扩展

  • 插件是Rollup唯一扩展途径,而webpack有loader,plugin,minimizer三种

  • 使用:

    • 以导入json文件的插件为例
      • 安装:yarn add rollup-plugin-json --dev
      • 配置文件中进行配置
    // rollup.config.js
    import json from 'rollup-plugin-json'  // 默认导出的是一个函数
    
    export default {
         
      input: 'src/index.js',
      output: {
         
        file: 'dist/bundle.js',
        format: 'iife'
      },
      plugins: [
        json()  // 将模块暴露的方法函数的执行结果放进数组中
      ]
    }
    
    
    // index.js
    // 导入模块成员,默认情况下rollup只能用路径的方式导入模块,并不能像webpack那样用名称导入node_module中的npm模块
    import {
          log } from 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值