我可以在 vite 中静音“模块外部化以实现浏览器兼容性”警告吗?

问题描述 投票:0回答:1

我正在使用各种第三方 npm 模块,我不控制其源代码,并且没有其他选择。

当我使用 Vite 运行

npm run build
时,我看到了几页

transforming (556) node_modules/is-stream/index.js[plugin:vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "myapp/node_modules/@bundlr-network/client/build/common/upload.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
transforming (637) node_modules/@portal-payments/solana-wallet-names/node_modules/buffer/index.js[plugin:vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "myapp/node_modules/@bundlr-network/client/build/common/transaction.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
transforming (719) node_modules/semver/functions/satisfies.js[plugin:vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "myapp/node_modules/arbundles/src/Bundle.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[plugin:vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "myapp/node_modules/arbundles/src/DataItem.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
[plugin:vite:resolve] Module "crypto" has been externalized for browser compatibility, imported by "myapp/node_modules/arbundles/src/deepHash.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.
transforming (965) node_modules/@ethereumjs/rlp/dist/index.js[plugin:vite:resolve] Module "http" has been externalized for browser compatibility, imported by "myapp/node_modules/micro-ftch/index.js". See http://vitejs.dev/guide/troubleshooting.html#module-externalized-for-browser-compatibility for more details.

我理解 vite 是“排除”这些模块的,虽然 vite 没有明确说明外部化的含义,但文档的另一部分指出:

运行 SSR 时,依赖项默认从 Vite 的 SSR 转换模块系统“外部化”。这可以加快开发和构建速度。

这似乎表明 Polyfill 没有得到优化。明白了。

我很难使用不同的模块,对上游第三方模块进行重大更改,或者重写第三方模块。

我很满意节点 polyfill 没有得到优化。我的问题是,而不是其他有用的构建输出被淹没在许多页面的警告中。

如何禁用警告?

node.js vite polyfills
1个回答
1
投票

正如Vite 文档提到的“建议将问题报告给相应的库”。所以也许包的作者已经解决了这个问题。我的crypto-js版本是4.0.0,当我将其版本更新到4.2.0时,控制台不再显示警告!

© www.soinside.com 2019 - 2024. All rights reserved.