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

概述

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.jsonmain指向的入口文件;

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

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

最后

以上就是高挑月饼为你收集整理的Node.js中模块加载机制的全部内容,希望文章能够帮你解决Node.js中模块加载机制所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

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

评论列表共有 0 条评论

立即
投稿
返回
顶部