如何处理__vite-browser-external错误(“debuglog”不是由“__vite-browser-external”导出的)

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

我目前正在使用Vite结合react来建站。 我有一个名为 Winston. 的开源日志记录库,我在“开发”中使用它。最初 Winston 是为 NodeJs 构建的,但在版本 3 中,它们启用了对登录到 Web 应用程序的支持。

这个的安装并不简单,我看到了 Kyle Kravette 写的一篇名为如何在 Vite 中使用 Winston 的文章,它在描述安装过程方面做得非常出色。

所以澄清一下,我能够在开发中使用 Winston 并且它的工作符合预期,但是当我尝试构建运行的应用程序时,痛点出现了

npm run build
我遇到了以下错误。

vite v4.1.4 building for production...
✓ 403 modules transformed.
"debuglog" is not exported by "__vite-browser-external", imported by "node_modules/rollup-plugin-node-polyfills/polyfills/readable-stream/readable.js".
4: Readable.ReadableState = ReadableState;
5: import EventEmitter from 'events';
6: import {inherits, debuglog} from 'util';
                     ^
7: import BufferList from './buffer-list';
8: import {StringDecoder} from 'string_decoder';
error during build:
RollupError: "debuglog" is not exported by "__vite-browser-external", imported by "node_modules/rollup-plugin-node-polyfills/polyfills/readable-stream/readable.js".
at error (file:///Users/***/Projects/dashboard/node_modules/rollup/dist/es/shared/node-entry.js:2095:30)

我大致了解用于填充 Winston 正在寻找的 NodeJs 函数的 polyfill 插件的特性。但在我看来,这个特定模块没有一个

debuglog
.

不知道有没有遇到同样问题的用户。 我查看了许多 GitHub 问题帖子和论坛,但没有找到任何答案

如果您对此问题的解决方案有任何建议或见解,我将不胜感激。

谢谢。

node.js vite console.log rollupjs
1个回答
0
投票

我面临着同样的问题,但我正在建立一个图书馆而不是网站。 如果有帮助,有人在 dev.to 上发布了一个潜在的解决方案

解决方案是在

index.html
上放一些脚本
^^^ “Teerasak Vichadee”-开发者

<script>
var global = global || window
var Buffer = Buffer || []
var process = process || { env: { DEBUG: undefined }, version: [] }
</script>

^^^ 在他们的情况下错误是

'request' is not exported by __vite-browser-external, imported by node_modules/@aws-sdk/credential-provider-node/node_modules/@aws-sdk/credential-provider-imds/dist/es/remoteProvider/httpRequest.js
© www.soinside.com 2019 - 2024. All rights reserved.