Node.js-模块路径

1.第三方模块

  • 导入第三方模块和核心模块,不需要指定路径,写模块名就可以;
  • 导入第三方模块,会从根目录的 "node_modules" 目录内查找,如果没有,会从上一个目录下的 "node_modules"中查找,直接到根目录下的 "node_modules"
// 导入第三方模块
const randomatic = require("randomatic");

2.自定义模块
(1)导入自定义模块-文件模块
***为自定义模块名称
a. 文件不指定后缀, 优先加载 "***"
b. 没有 "***",加载 "***.js"
c. 没有 "***.js",加载 "***.json"
d. 没有 "***.json", 加载 "***.node"
主模块.js
const myModules = require("./my-modules/自定义模块"); myModules(); // 当没有后缀名时 const myModules2 = require("./my-modules/自定义模块"); myModules2(); // json文件 const myModules3 = require("./my-modules/自定义模块"); console.log(myModules3);

(2)导入自定义模块-目录作为模块
a. 如果目录中有package.json,并且指定main,依指定文件作为模块的入口
b. 没指定main或者没有package.json,默认加载index.js
(3). 如果没用index.js,尝试加载index.node
主模块.js
const myModules4 = require("./indexModule"); myModules4();

package.json
{ "name":"Json格式", "main":"./indexModule.js" }

【Node.js-模块路径】indexModules.js
module.exports = function () { console.log("我是目录package默认设置的文件"); }

总结:
(1)"./" , "../" , "/"开头的是自定义模块,没有这些开头的是核心模块和第三方模块
(2)导入第三方模块和核心模块,不需要指定路径,写模板名就可以
(3)导入第三方模块和核心模块,不需要指定路径,写模块名就可以;
(4)导入第三方模块,会从根目录的 "node_modules" 目录内查找,如果没有,会从上一个目录下的 "node_modules"中查找,直接到根目录下的 "node_modules"
(5)导入自定义模块,如果模块是个文件,没有同名的文件,会依次加上后缀,“.js”,".json",".node"
(6)导入自定义模块,模块是目录,导入指定目录名

    推荐阅读