我一直在查看一些 NodeJS 示例,但遇到了以下问题:
var module = require('..');
var module = require('../');
Run Code Online (Sandbox Code Playgroud)
我明白 require 是做什么的,但我不明白当它这样写时它会做什么。有人可以向我解释一下吗?
这是https://nodejs.org/api/modules.html中定义的规则
require(X) 来自路径 Y 处的模块
- 如果 X 以“./”或“/”或“../”
开头 LOAD_AS_FILE(Y + X)
b.LOAD_AS_DIRECTORY(Y + X)
由于../or..不是文件,因此它将转到路径 B,以目录形式加载
LOAD_AS_DIRECTORY(X)
- 如果 X/package.json 是一个文件,则
a. 解析 X/package.json,并查找“main”字段。
b. 让 M = X + (json 主字段)
c. 加载文件(M)- 如果 X/index.js 是一个文件,则将 X/index.js 作为 JavaScript 文本加载。停止
- 如果 X/index.json 是一个文件,则将 X/index.json 解析为 JavaScript 对象。停止
- 如果 X/index.node 是一个文件,则将 X/index.node 作为二进制插件加载。停止
根据该规则,它将按此顺序检查以下文件
1)../package.json
2)../index.js
3)../index.json
4)../index.node
| 归档时间: |
|
| 查看次数: |
5278 次 |
| 最近记录: |