概述
Node.js中模块查找规则:
【注】以下查找规则均来自于在VS Code中的实践,对于文件以及相应运行结果的截图太多,比较麻烦,就以文字形式呈现出来。
1.当模块拥有路径但没有后缀时
require('./home.js')
require('./home')
(1)当路径完整时,直接引入模块文件,读取。
(2)当路径不完整时,首先查找同名文件,如果查找到同名文件,则会查找当前文件夹下的package.json
文件中的main
选项中的入口文件,但入口文件要求在当前文件夹下;
如果找不到入口文件,则会查找当前文件夹下的index.js
文件;如果都找不到则会报错。
注:先查找的是入口文件,没有才会查找对应的index.js
文件。
2.当模块没有路径,没有后缀时
require('home')
Node.js会假设它是系统模块,去node_modules
文件夹中查找。
(1)首先看是否有该名字的js文件,如果有直接读取;
(2)如果没有,再看是否有该名字的文件夹,如果有则首先查看package.json
中main
指向的入口文件;
(3)如果没有找到入口文件,则会查看该文件夹下是否有index.js
文件,如果有,读取。
(4)当上面的步骤执行下来依旧没有发现文件,则会报错。
最后
以上就是高挑月饼为你收集整理的Node.js中模块加载机制的全部内容,希望文章能够帮你解决Node.js中模块加载机制所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复