Node.js自学笔记(六)

5.2模块查找规则-当模块没有路径且没有后缀时

require('find')
  1. Node.js会假设它是系统模块
  2. Node.js会去node_modules文件夹中
  3. 首先看是否有该名字的JS文件
  4. 再看是否有该名字的文件夹
  5. 如果是文件夹看里面是否有index.js
  6. 如果没有index.js则查看该文件夹中的package.json中的main选项确定入口模块文件
  7. 否则就会找不到报错

下面请看示例

模块引用代码

require('find');

由于系统模块中是没有find这个模块的,所以系统会去node_modules文件夹中去找,
所以接下来要创建一个node_modules文件夹,在有了node_modules文件夹之后,系统会先查找有没有同名的JS文件,那么我还需要再创建一个find.js文件,写入一些输出代码
Node.js自学笔记(六)_第1张图片
在这里插入图片描述

接着到命令行去执行 require.js 文件
在这里插入图片描述
可以看到,我刚刚写入的输出代码被成功执行了

接下来我们来看没有同名JS文件时的情况,首先我需要更改一下find.js的文件后缀,以确保系统无法找到他。然后根据模块查找规则,我需要创建一个同名文件夹,并在里面创建一个index.js文件,写入一些输出代码。
Node.js自学笔记(六)_第2张图片
在这里插入图片描述
接下来回到命令行当中执行 require.js 文件
在这里插入图片描述
可以看到,我刚刚写在index.js文件中的代码就被成功执行了

下面我们继续来看,假设find文件夹中没有index.js文件。那么根据模块查找规则,我要更改一下index.js的文件后缀,以确保系统无法找到他。然后通过 npm init -y 命令生成package.json文件。
Node.js自学笔记(六)_第3张图片
Node.js自学笔记(六)_第4张图片
接下来,根据模块查找规则。我还需要对package.json文件中的main选项做一些编辑,将其指向一个新的JS文件,并且在find文件夹中创建这个JS文件,写入一些输出代码。Node.js自学笔记(六)_第5张图片
在这里插入图片描述
最后,到命令行中执行 require.js 文件
在这里插入图片描述
执行成功!

你可能感兴趣的:(nodejs)