假设我有一个条目。js文件entry.js
var t = require('./test'); //it can be file or folder module
如果我有一个文件夹和一个名为"test"的文件在同一个包中的entry.js,执行将如何发生,因为两者都有相同的名称?哪个模块具有最高的优先级?
检查优先级将是下一个:
- 。/. js
- 。/test.json
- 。/test.node
- 。/测试/index.js
- 。/测试/index.node
来源:
https://nodejs.org/api/modules.html modules_file_moduleshttps://nodejs.org/api/modules.html modules_folders_as_modules
from reqire
's docs:
一旦Node.js找到node_modules文件夹,它就会尝试加载给定的模块可以作为(.js) Javascript文件或命名子目录。
并且,如果它找到命名的子目录,它将尝试加载该文件以各种方式。因此,例如,如果你请求加载模块,"test":var utils = require( "test" );
…Node.js将对"node_modules"执行分层目录搜索
和"test"按以下方式:./node_modules/test.js ./node_modules/test/index.js ./node_modules/test/package.json
所以答案是:File
第一,Directory
第二,Module
第三