nodej2 v20.1.0 - 如何请求 Buffer 并使用 buffer.Blob 构造函数?

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

我无法在仍使用 require 的旧节点应用程序中使用

Blob 类
的构造函数。

说明 Buffer 和 Blob 的页面推荐使用 import

 Buffer,但没有提供任何使用 
require
 的语法示例。

我尝试同时使用

new buffer.Blob

(如示例中所示)
new Buffer.Blob
new Buffer.buffer.Blob
,但我总是收到消息说我没有调用构造函数。

到目前为止我已经尝试了很多种

require

const buffer = require('node:buffer'); const buffer = require('buffer');
我正在使用 Node v20.1.0,但修改应用程序以使用 

import

 不是一个选项。我必须坚持
require

我应该如何获取 Blob 类并使用它的构造函数?

node.js blob
1个回答
0
投票
我在寻找类似问题(未能找到

Buffer

定义)的修复时发现了这个问题,我在开发基于Blockly的项目时遇到过这个问题。该设置使用了一个名为 Webpack 的服务器,这实际上给了我一个有用的错误消息(经过几次尝试,该消息被吞没在链中的某个地方):

Module not found: Error: Can't resolve 'buffer' in '/home/matej/proj/bob/iqblb/node_modules/apg-js/src/apg-api' BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default. This is no longer the case. Verify if you need this module and configure a polyfill for it. If you want to include a polyfill, you need to: - add a fallback 'resolve.fallback: { "buffer": require.resolve("buffer/") }' - install 'buffer' If you don't want to include a polyfill, you can use an empty module like this: resolve.fallback: { "buffer": false }
在此发帖,以防对后人有所帮助,无论谁可能在类似的情况下遇到类似的问题。

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