180 文字
1 分
import と require の違い
importrequire
モジュールシステムECMAScript Modules (ESM)CommonJS
使用環境ブラウザとNode.jsNode.js
読み込みタイミング静的にモジュールを読み込む実行時にモジュールを読み込む
型情報含む含まない
デフォルトエクスポート1つのみすべて
ファイルパス相対パスと絶対パス相対パス
構文簡潔複雑
その他動的import, 名前空間などCommonJSモジュールのエコシステム

解説#

ECMAScript Modules (ESM) と CommonJS

静的にモジュールを解析するとは?

importとrequireにおけるデフォルトエクスポートの違い

どちらを使用するべきか#

  • ブラウザで動作するコード: importを使用
  • Node.jsで動作するコード: requireを使用
  • 新しい機能を使用したい場合: importを使用
  • 既存のCommonJSモジュールと互換性を保ちたい場合: requireを使用