7 ポイント 投稿者 xguru 2020-08-07 | まだコメントはありません。 | WhatsAppで共有

CJSとESMは実装がまったく異なる。相互に呼び出すことは可能だが、面倒。

  • CJS : require()module.exports

  • ESM : importexport

両者を詳しく比較し、なぜ違うのか、そして連携が面倒な理由を内部実装まで踏み込んで説明した記事。

著者がNodeライブラリ開発者に勧めるガイドライン。

  1. CJS版を提供し、

  2. CJSの上に薄いESMラッパーを提供し、そのうえで

  3. package.jsonexports を追加する

もちろんESMのほうが新しい方法ではあるが、変更点が多く、CJSの上にESMラッパーを提供するほうが簡単なので、現時点ではこれが最善の方法だろうとのこと。

まだコメントはありません。

まだコメントはありません。