ブラウザで Node.js の Buffer を使う(CDN)
はじめに
ブラウザで Node.js の Buffer (相当) を使う方法を整理した。
なお、この記事で紹介するのは CDN から読み込んで使う方法なことに注意。
TL;DR
<script src="https://bundle.run/buffer"></script>
を使う- jsDelivr のもの(
https://cdn.jsdelivr.net/npm/buffer@5.4.3/index.min.js
)だと NG
- jsDelivr のもの(
buffer.Buffer
でアクセス
目次
環境・条件
Google Chrome バージョン: 78.0.3904.108(Official Build) (64 ビット)
詳細
ブラウザで Buffer を使う
ブラウザで Node.js の Buffer (相当)を利用するには、feross/buffer を使うと良い。
が、jsDelivr から配信されているスクリプトは require
が使えることが前提(npmjs のコードそのまま)となっており、以下のようにしてもエラーになる。
1 | <script src="https://cdn.jsdelivr.net/npm/buffer@5.4.3/index.min.js"></script> |
では、browserify などを使わないとだめかと言うとそんなことはなくて、install - feross/buffer をちゃんと読むと、以下がひっそりと書かれている。
If you do not use a bundler, you can use the standalone script.
この standalone script
のリンク先 https://bundle.run/buffer
を script
タグで読み込むと、Buffer
相当が使えるようになる。
1 | <script src="https://bundle.run/buffer"></script> |
使用例
buffer.Buffer
でアクセスできるので、以下のような感じで使う。
1 | const txt = 'hoge'; |
入力値を base64 エンコード/デコード するサンプル。
See the Pen Buffer using CDN by 17num (@17num) on CodePen.
まとめ
<script src="https://bundle.run/buffer"></script>
を使う- jsDelivr のもの(
https://cdn.jsdelivr.net/npm/buffer@5.4.3/index.min.js
)だと NG
- jsDelivr のもの(
buffer.Buffer
でアクセス
参考文献
- feross/buffer: The buffer module from node.js, for the browser.
- Buffer without browserify · Issue #169 · feross/buffer
関連記事
- axios で添付ファイルありのリクエスト(multipart/form-data の POST)
- axios で unable to verify the first certificate の対応方法
- Vue.js を使ってメインページ側で動作する Chrome 拡張機能を開発する方法
- webpack で Moment.js の不要な Locale を除去
- webpack & Babel を使って Chrome 拡張機能を開発するためのテンプレート(Hot Reload 付き)
- JavaScript で 16進数 ランダム文字列を簡単に生成(CDN, npm)
- JavaScript で URL のクエリパラメータを操作する方法
- jQuery Select2 で、初期値の設定と選択状態のクリア