一尘不染

Node.js引发“未定义btoa”错误

node.js

在我的node.js应用程序中,我做了一个操作,npm install btoa- atob以便可以使用客户端javascript中固有的btoa()和atob()函数,但由于某种原因未包含在node中。新目录显示在我的node_modules文件夹中,该文件夹本身与app.js一起位于根目录中。然后,确保将btoa-
atob作为依赖项添加到根目录下的package.json文件中。

但是,由于某种原因,它仍然无法正常工作。

console.log(btoa("Hello World!"));

^应该向控制台输出“ SGVsbG8gV29ybGQh”,但是,我收到错误消息“未定义btoa”。

我没有正确安装吗?我忽略了什么?


阅读 393

收藏
2020-07-07

共1个答案

一尘不染

“ btoa-atob”模块不导出编程接口,它仅提供命令行实用程序。

如果您需要转换为Base64,可以使用Buffer进行:

console.log(Buffer.from('Hello World!').toString('base64'));

反向(假设您要解码的内容是utf8字符串):

console.log(Buffer.from(b64Encoded, 'base64').toString());

注意:在Node v4之前,请使用new Buffer而不是Buffer.from

2020-07-07