rollup 压缩插件 rollup
今天使用 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(), ], },