Node.js が「btoa が定義されていません」というエラーをスローする 質問する

Node.js が「btoa が定義されていません」というエラーをスローする 質問する

私の node.js アプリケーションでは、クライアント側の JavaScript ではネイティブであるものの、何らかの理由で node に含まれていないおよび関数npm install btoa-atobを使用できるように を実行しました。新しいディレクトリは、 とともにルートにある フォルダーに表示されました。次に、ルートにある ファイルに btoa-atob を依存関係として追加しました。btoa()atob()node_modulesapp.jspackage.json

しかし、何らかの理由で、まだ動作しません。

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

^ はコンソールに「SGVsbG8gV29ybGQh 」を出力するはずですが、代わりに次のエラーが表示されます:

btoa が定義されていません。

インストールが適切に行われなかったのでしょうか? 何を見落としたのでしょうか?

ベストアンサー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

おすすめ記事