出现错误 TS2304:找不到名称“缓冲区”

新手上路,请多包涵

我正在尝试使用 TypeScript 在 NodeJS 中进行 base64 编码。

以下代码在 JavaScript 中运行良好。

当我在 TypeScript 中编写相同的内容并进行编译时,出现 Buffer is not find 错误。

 var base64Policy = new Buffer(stringPolicy, 'utf-8').toString('base64');

有人可以帮我在 TypeScript 中做同样的事情吗?

原文由 ayyappa maddi 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.2k
2 个回答

在顶部添加这一行:

 declare const Buffer

它应该编译没有错误。

使用内置库或其他全局对象的节点需要声明,您可以像上面一样手动声明它。

使用新版本的 Typescript,您还可以使用官方声明文件:

 npm i -g typescript@next
npm i --save-dev @types/node

对于其他库,安装 @types/library_name

更多细节: 改进申报文件获取申报文件的未来

原文由 DarkKnight 发布,翻译遵循 CC BY-SA 3.0 许可协议

对于 IONIC 4 开发人员,我使用

npm install --save @types/node

当我尝试添加 "types": ["node"] 时,如下所示

"compilerOptions": {
    "outDir": "./out-tsc/app",
    "types": ["node"]
},

tsconfig.json

它不起作用。我必须将条目添加到

tsconfig.app.json

相关文档请参考以下链接。

https://github.com/aws/aws-sdk-js/issues/1271#issuecomment-291658668

如果这对您有用,请告诉我!

原文由 Jay Pagnis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题