rollup 压缩插件 rollup-plugin-terser 在 rollup 3.x 不能使用了吗? 跳坑记

今天使用 rollup 3 配置项目的时候, 发现安装常用的 terser 压缩插件 rollup-plugin-terser  出了问题,上 github 浏览了一圈,发现包名不能用在 3.x 版本了, 有第三方库 rollup-plugin-minification 可以替代。

2022.10.28 更新 作者废弃了旧库,并通知大家转移到官方插件库(使用了 @rollup/ 打头)

这里附一下 package.json 里今天过了一遍的常见插件,并且已经测试 3.2.x 可用:

"devDependencies": {
    "@babel/preset-env": "^7.19.4",
    "@rollup/plugin-alias": "^4.0.2",
    "@rollup/plugin-babel": "^6.0.2",
    "@rollup/plugin-html": "^1.0.0",
    "@rollup/plugin-json": "^5.0.1",
    "@rollup/plugin-node-resolve": "^15.0.1",
    "@rollup/plugin-terser": "^0.1.0",
    "postcss": "^8.4.18",
    "rollup": "^3.2.3",
    "rollup-plugin-commonjs": "^10.1.0",
    "rollup-plugin-minification": "^0.2.0",
    "rollup-plugin-postcss": "^4.0.2"
  },

主要的报错信息如下

 这个意思就是说原 terser 插件最多只能支持到 2.x 。那怎么办呢,总不能不压缩代码对吧。

遇事不决 Github 

果不其然啊,已经很多人提了 issue 了,不过好在下面正好有一个解决方案

// import { terser } from "rollup-plugin-terser";
import { terser } from "rollup-plugin-minification";

 好了, 这下使用这个新的库, 就能正常使用 terser 进行压缩了。

2022.10.28 Update

后来我又翻了一下,刚好今天官方现在已经改名并入他们的插件库了 @rollup 打头,

插件的原作者也发了一篇公告mark 为 deprecated ,以后构建就用这个新版本吧。

我这篇文章写的还真是新鲜及时,希望有不解的朋友们看到。

plugins/packages/terser at master · rollup/plugins (github.com) 

 所以还是安装官方维护的插件库 @rollup/plugin-terser

npm install @rollup/plugin-terser --save-dev
import terser from "@rollup/plugin-terser";  // 不用解构出来 有默认导出

...


export default {
  input: "src/index.js",
  output: {
    dir: "dist",
    // file: "bundle.js",
    entryFileNames: "[name]-[hash].js",
    format: "cjs",
    plugins: [
      terser(),
    ],
  },

  • 6
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值