module解析过程
Posted 小孩孩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了module解析过程相关的知识,希望对你有一定的参考价值。
加载一个核心模块时
直接require(‘模块名‘)即可
加载一个文件模块时
直接require(‘绝对路径/相对路径‘)即可,可省略文件后缀.js。
因为如果文件不存在,将试图找文件名.js的文件
加载一个文件夹模块时
直接require(‘路径‘)即可,当该文件夹中存在package.json文件时,将解析该文件的main属性,并将其值作为入口文件。
否则假设index.js文件为入口文件
加载一个node_modules文件夹内的模块
当不含路径且不是核心模块,Node将试图在当前文件夹中的node_modules文件夹内寻找。(原文:If the module name is not relative and is not a core module, Node will try to fi nd it inside the node_modules folder in the current directory. 不知道翻译的对不)
如果在当前目录./下的node_modules下没找到,则会继续到上级目录../node_modules上寻找,直到到达根目录。通过npm可以进行方便的包管理。
缓存模块
当模块第一次被引入后,将被缓存起来,再次使用时将直接存缓存中读取。
以上是关于module解析过程的主要内容,如果未能解决你的问题,请参考以下文章