【发布时间】:2021-09-30 03:43:10
【问题描述】:
我发现一个使用 React(使用 Vite)和 Sendbird(聊天提供者)制作的应用程序可以一起工作,但我不知道为什么,从今天开始出现此错误:
Uncaught ReferenceError: Buffer is not defined
at node_modules/ws/lib/constants.js (constants.js:5)
at __require2 (chunk-F5R5HRHB.js?v=62787598:19)
at node_modules/ws/lib/buffer-util.js (buffer-util.js:3)
at __require2 (chunk-F5R5HRHB.js?v=62787598:19)
at node_modules/ws/lib/permessage-deflate.js (permessage-deflate.js:5)
at __require2 (chunk-F5R5HRHB.js?v=62787598:19)
at node_modules/ws/lib/websocket.js (websocket.js:14)
at __require2 (chunk-F5R5HRHB.js?v=62787598:19)
at node_modules/ws/index.js (index.js:3)
at __require2 (chunk-F5R5HRHB.js?v=62787598:19)
Buffer 是来自@types/node 的一种类型,我已经将其作为依赖项安装了。
这是我做的应用示例:https://codesandbox.io/s/suspicious-stallman-pd7wj?file=/src/App.jsx
如果我用 CRA 做同样的应用程序,它运行良好,这里是 sample
我认为,问题在于 Vite,但是,为什么现在而不是以前?
这是我的 tsconfig.json:
{
"compilerOptions": {
"target": "ESNext",
"lib": ["DOM", "DOM.Iterable", "ESNext"],
"types": ["vite/client", "node"],
"allowJs": false,
"skipLibCheck": true,
"esModuleInterop": false,
"allowSyntheticDefaultImports": true,
"strict": true,
"forceConsistentCasingInFileNames": true,
"module": "ESNext",
"moduleResolution": "Node",
"resolveJsonModule": true,
"isolatedModules": true,
"noEmit": true,
"jsx": "react",
"paths": {
"@/*": ["./src/*"],
"@components/*": ["./src/ui/components/*"],
"@styles/*": ["./src/ui/styles/*"]
}
},
"include": ["./src"],
"exclude": ["node_modules"]
}
问题可能出在哪里?
最好, 阿古斯
【问题讨论】:
-
您是否在他们的 GitHub 中提出了有关软件包依赖关系或与打字稿冲突的问题?
-
不,因为这是从今天早上开始的,我以为是我挑衅的错误,但我认为是Vite
-
我只是添加问题..等待批准github.com/vitejs/vite/issues/5108