java require

作者:原创时间:2022-04-18
文档

java require是什么?让我们一起来了解一下吧!

Java require是CommonJS格式的核心,模块通过它来加载。Node.js 的模块仓库 npmjs.com ,现在已经存放了15万个模块,其中绝大部分都是 CommonJS 格式。

模块的加载顺序例子:require('find')

1、node会先查找find模块是否是内置模块(nodejs内置的模块有fs、http等),找不到则进行下一步

2、从当前目录向外寻找node_moludes查找是否有find.js文件,找不到进行下一步;

3、在node_moludes中找find文件夹,寻找index.js文件;

4、没有index.js文件,则去package.json中查找main字段,该字段对应于一个入口路径;

5、以上都找不到,报错。

加载文件例子:require('./find')

1、node会先找当前目录下的find.js文件;

2、进而寻找find.json文件;

3、寻找当前目录下的find文件夹的index.js

4、没有index.js文件,则去package.json中查找main字段,该字段对应于一个入口路径;

5、以上都找不到,报错。

Require的用法:

当 Node 遇到 require(X) 时,按下面的顺序处理。

1.如果 X 是内置模块(比如 require('http')) 
  a. 返回该模块。 
  b. 不再继续执行。

2.如果 X 以 "./" 或者 "/" 或者 "../" 开头 
  a. 根据 X 所在的父模块,确定 X 的绝对路径。 
  b. 将 X 当成文件,依次查找下面文件,只要其中有一个存在,就返回该文件,不再继续执行。

X
X.js
X.json
X.node

  c. 将 X 当成目录,依次查找下面文件,只要其中有一个存在,就返回该文件,不再继续执行。

X/package.json(main字段)
X/index.js
X/index.json
X/index.node

3.如果 X 不带路径 
  a. 根据 X 所在的父模块,确定 X 可能的安装目录。 
  b. 依次在每个目录中,将 X 当成文件名或目录名加载。

4. 抛出 "not found"

以上就是小编今天的分享了,希望可以帮助到大家。

显示全文
java region java render java override java pandas java parse java repeat java parser java request java partial java requests java rest java result java resultset java resume java retrofit java reverse() java reverse java rotate java rsa加密 java path java resolve java resources java overload java outofmemory java outer java orm java openssl java regex java reflect java reference java redirect java rectangle java openjdk java opengl java openfire java onvif java inputstreamreader java influxdb java implements java image