🟨
import と require の違い
import | require | |
---|---|---|
モジュールシステム | ECMAScript Modules (ESM) | CommonJS |
使用環境 | ブラウザとNode.js | Node.js |
読み込みタイミング | 静的にモジュールを読み込む | 実行時にモジュールを読み込む |
型情報 | 含む | 含まない |
デフォルトエクスポート | 1つのみ | すべて |
ファイルパス | 相対パスと絶対パス | 相対パス |
構文 | 簡潔 | 複雑 |
その他 | 動的import, 名前空間など | CommonJSモジュールのエコシステム |
解説
ECMAScript Modules (ESM) と CommonJS
静的にモジュールを解析するとは?
importとrequireにおけるデフォルトエクスポートの違い
どちらを使用するべきか
- ブラウザで動作するコード: importを使用
- Node.jsで動作するコード: requireを使用
- 新しい機能を使用したい場合: importを使用
- 既存のCommonJSモジュールと互換性を保ちたい場合: requireを使用
Discussion