Leo*_*Leo 2 javascript blob node.js
I have tried to create a Blob in Node.js. First just this:
var b = new Blob(['hi', 'constructing', 'a', 'blob']);
Run Code Online (Sandbox Code Playgroud)
This fails with ReferenceError: Blob is not defined
然后,我尝试使用该blob模块(两行代码来自该模块的示例,请参阅https://www.npmjs.com/package/blob):
var Blob = require('blob');
var b = new Blob(['hi', 'constructing', 'a', 'blob']);
Run Code Online (Sandbox Code Playgroud)
这失败了 TypeError: Blob is not a constructor
我该怎么做?
Node.js没有Blob,它使用Buffer(不要混淆ArrayBuffer)和类型化数组。
blob npm您尝试使用的模块不在Node.js中使用,而是在浏览器中使用,以消除Blob在不同浏览器中创建方法的历史差异。从它的描述:
一个跨浏览器
Blob即回落到BlobBuilder适当的时候。如果两者都不可用,它将导出undefined。
(我的重点)
令人困惑的是,npm在过去几年中,以浏览器为目标的程序包已经出现(成批出现)。require一段时间以来,使用模块一直是诸如Webpack,Rollup等打包程序的功能,因此人们开始将其npm用于浏览器的通用模块,就像将其用于Node.js的通用模块一样。实际上,有些模块是在两种环境下均可工作的。(但blob似乎不是其中之一。)
在评论中,您说过要从Node.js进程上载文件。您不需要这样做Blob,这样做Node.js的方式与在浏览器中的方式不同。因此,您可能想研究如何从Node.js上传文件,而不必担心Blobs。但是,那将是一个不同的问题。(一个可以在这里回答,或者,如果您愿意使用Express,请在这里回答。)
| 归档时间: |
|
| 查看次数: |
5201 次 |
| 最近记录: |