【发布时间】:2023-03-18 07:15:01
【问题描述】:
webpack-bundle-analyzer 显示我的 vendor.js 中包含的 elliptic 和 bn.js 但是这些模块并没有在代码中使用,也没有包含在 package.json 中。
npm ls bn.js 给出:
├─┬ eslint-import-resolver-webpack@0.8.1
│ └─┬ node-libs-browser@1.1.1
│ └─┬ crypto-browserify@3.11.0
│ └─┬ browserify-sign@4.0.0
│ └── bn.js@4.11.6
【问题讨论】:
-
这是因为包含使用加密模块的随机字符串模块。如果在前端代码中使用了加密模块,则所有加密功能都包含在前端 js 包中。
-
你能告诉我如何处理这个问题吗?因为这导致我的整体包大小大于 webpack 1(其中不包括 elliptic 和 bn.js)。
-
不幸的是,没有办法说,例如,“yarn 为什么要加密”并查看哪个包依赖于加密,因为这是使用自动填充 nodejs 模块的 webpack 行为