nodejsモジュールの検索順序

791 ワード

公式文書の参考 http://nodejs.cn/api/modules.html#modules_loading_fromnode_modules_folders
exportsは厳格モードのみ対応しています。
 
module検索順序:
1.core module 
  Node.js has several modules compled into the binary、カスタム同名モジュールはnodeコアモジュールによってカバーされます。
2.file module 
  同じ名前のmoduleファイルを探してみます。見つからなかったら、自動的に拡張子を付けます。js.json.node拡張子は、検索効率を上げるために、そうではないならば、js拡張子を付けます。
3.flader module
  上の書類が見つからなかったら、node_を探します。modulesの同名ディレクトリを検索します。ディレクトリのpackage.jsonファイルを検索します。
{
    "main": "lib/main.js",
    "module": "es/main.js"
}
  package.jsonでmail指定ファイル、moduleはes 6のexportの対応ファイルを指します。
  package.jsonファイルがないとデフォルトのindex.jsファイルを検索します。
  ロードした後にキャッシュを行いますが、その後の同じモジュールはキャッシュから読み込まれても再ロードされません。モジュールの内容は他のところのモジュール参照に影響を与えます。