我正在尝试使用摇晃机制将bitcore-lib部分地包含到我的网页中,而该摇晃机制是开箱即用的,而rollup-plugin-commonjs
则是用来加载Node.js模块的。
为了更好地说明问题,我制作了一个available on the github
的演示项目您可以查看bundle.js
。如果我通过以下方式定义模块:
const useful = "3";
const useless = "4";
export {usefull, useless}
摇树工作正常-最终的捆绑包仅包含有用的依赖项。
但是,如果我以演示项目中bitcore-lib(node-lib.js
)中定义的方式定义模块,则:
module.exports = {
useful: "1",
useless: "2"
};
在这种情况下,最终的捆绑包包括整个模块。
我期望由于树的摇晃,不应该包括useless: 2
依赖项。我的index.js在这里:
import {usefull as usefull1} from "./my-node-lib"
import {usefull as usefull2} from "./my-es-lib"
console.log(`hi! ${usefull1} ${usefull2}`);
我的rollup.config.js
是available here
是模块定义或汇总配置问题吗?
答案 0 :(得分:1)
摇树仅适用于ES6模块。至少对于Webpack来说是正确的,我也想对它进行汇总。您的第一个定义是ES6,第二个定义是commonjs。
因此,如果未将库编译/编译到ES6模块,摇树将无法进行。 另一个不起作用的功能是模块串联。
根据库,您可以尝试重新编译它。