文章目录
1.模块的加载
如果我们在引入模块的时候只写明了文件名而没有指明路径,例如下面的代码:
require('http.js');
那么Node.js就会将该文件视作node_modules目录下的一个文件。假设上述代码写在/Users/Meskjei/Desktop/Workspace
内的一个js文件中。那么在引用的时候将会按照下面的顺序依次进行搜索:
/Users/Meskjei/Desktop/Workspace/node_modules/http.js
/Users/Meskjei/Desktop/node_modules/http.js
/Users/Meskjei/node_modules/http.js
/Users/node_modules/http.js
/node_modules/http.js
2.用目录来管理模块
在Node.js中除了像上面那样引入模块,还可以直接写模块名,例如
require('http');
这样的引用方法最为常见,那么这是怎么搜索到所需模块的呢?
很简单,其实Node.js是通过目录名来搜索的。换句话说,Node.js会将你传入的模块名去node_modules
中搜索同名的文件夹,找到之后再引入该文件夹内的index.js
文件。
在本例中,就是按照上面的搜索顺序去node_modules
中搜索与http
同名的文件夹,然后引入里面的index.js文件。