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ファイルを検索します。
package.jsonファイルがないとデフォルトのindex.jsファイルを検索します。
ロードした後にキャッシュを行いますが、その後の同じモジュールはキャッシュから読み込まれても再ロードされません。モジュールの内容は他のところのモジュール参照に影響を与えます。
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ファイルを検索します。
ロードした後にキャッシュを行いますが、その後の同じモジュールはキャッシュから読み込まれても再ロードされません。モジュールの内容は他のところのモジュール参照に影響を与えます。