我是靠谱客的博主 高挑月饼,这篇文章主要介绍Node.js中模块加载机制,现在分享给大家,希望可以做个参考。

Node.js中模块查找规则:

【注】以下查找规则均来自于在VS Code中的实践,对于文件以及相应运行结果的截图太多,比较麻烦,就以文字形式呈现出来。

1.当模块拥有路径但没有后缀时
复制代码
1
2
3
4
require('./home.js') require('./home')

(1)当路径完整时,直接引入模块文件,读取。
(2)当路径不完整时,首先查找同名文件,如果查找到同名文件,则会查找当前文件夹下的package.json文件中的main选项中的入口文件,但入口文件要求在当前文件夹下;
如果找不到入口文件,则会查找当前文件夹下的index.js文件;如果都找不到则会报错。

注:先查找的是入口文件,没有才会查找对应的index.js文件。

2.当模块没有路径,没有后缀时
复制代码
1
2
require('home')

Node.js会假设它是系统模块,去node_modules文件夹中查找。

(1)首先看是否有该名字的js文件,如果有直接读取;

(2)如果没有,再看是否有该名字的文件夹,如果有则首先查看package.jsonmain指向的入口文件;

(3)如果没有找到入口文件,则会查看该文件夹下是否有index.js文件,如果有,读取。

(4)当上面的步骤执行下来依旧没有发现文件,则会报错。

最后

以上就是高挑月饼最近收集整理的关于Node.js中模块加载机制的全部内容,更多相关Node内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(87)

评论列表共有 0 条评论

立即
投稿
返回
顶部