gpt4 book ai didi

reactjs - 为什么 webpack 在我的包中包含椭圆 bn.js 模块

转载 作者:行者123 更新时间:2023-12-03 13:19:26 24 4
gpt4 key购买 nike

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

最佳答案

如果您将 crypto 作为依赖项导入到某个位置,Webpack 会在您的包中包含 ellipticbn.js (以及其他较小的模块)你的代码。

为了避免这些巨大依赖性,您可以寻找一个特定的 npm 模块,它只提供您需要的功能

例如,我正在导入crypto来执行;

const crypto = require('crypto');
const hmac = crypto.createHmac('sha1', buf);

...相反(在这种情况下...),您可以安装 create-hmac module ,并执行;

const createHmac = require('create-hmac');
const hmac = createHmac('sha1', buf);

如果您需要一些动力;删除 crypto 作为依赖项,我们的 gzip 压缩包大小减少了 150Kb(但 YMMV 取决于您使用的加密方法)。

关于reactjs - 为什么 webpack 在我的包中包含椭圆 bn.js 模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42492410/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com