谈谈Node.js加载模块机制

node.js中模块有两种类型:核心模块和文件模块

核心模块直接使用名称获取,文件模块只能按照路径加载(可以省略默认的.js拓展名,不是js文件的话需要显示声明书写)

模块加载规则:

核心模块优先级最高,直接使用名字加载,在有命名冲突的时候首先加载核心模块可通过绝对路径和相对路径查找查找node_modules目录,我们知道在调用 npm install 命令的时候会在当前目录下创建node_module目录(如果不存在) 安装模块,当 require 遇到一个既不是核心模块,又不是以路径形式表示的模块名称时,会试图 在当前目录下的 node_modules 目录中来查找是不是有这样一个模块。如果没有找到,则会 在当前目录的上一层中的 node_modules 目录中继续查找,反复执行这一过程,直到遇到根目录为止

发表评论

后才能评论