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