Skip to content

Instantly share code, notes, and snippets.

@xl1
Last active September 25, 2022 08:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save xl1/bf3e4374f4c8226962f231493db46dd6 to your computer and use it in GitHub Desktop.
Save xl1/bf3e4374f4c8226962f231493db46dd6 to your computer and use it in GitHub Desktop.
快適 ESM 生活を送るための CDN 選択

快適 ESM 生活を送るための CDN 選択

IE が死に、ブラウザでも ES Modules が普通に使えるようになったので、ビルドなしでいろんな npm module が使えて最高便利

各種 CDN でも ES Modules 形式をサポートしているものがあるので、本当に <script type="module"> 一本であらゆるライブラリが利用できる

が、ライブラリによってはたまに特定の CDN では読めないことがあり、複数の候補を持っておくとよい感じ

よく使う CDN

  • unpkg
    • ?module parameter をつけると ESM 形式で配信される
      import { marked } from 'https://unpkg.com/marked@4?module';
    • たまに TTFB が長いことがある?
  • jspm
    • jspm generatorImport Maps を生成すると以下のような利点がある:
      • 依存ライブラリのバージョン固定ができる
      • import from url じゃなくて名前で import できる
      • ただし Chromium 系でしかサポートされてないので shim は必須
  • Skypack
  • esm.sh
    • query parameter で依存ライブラリのバージョン指定ができる
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment