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"
}

indexModules.js

module.exports = function () {
    console.log("我是目录package默认设置的文件");
}

总结:

(1)"./" , "../" , "/"开头的是自定义模块,没有这些开头的是核心模块和第三方模块

(2)导入第三方模块和核心模块,不需要指定路径,写模板名就可以

(3)导入第三方模块和核心模块,不需要指定路径,写模块名就可以;

(4)导入第三方模块,会从根目录的 "node_modules" 目录内查找,如果没有,会从上一个目录下的 "node_modules"中查找,直接到根目录下的 "node_modules" 

(5)导入自定义模块,如果模块是个文件,没有同名的文件,会依次加上后缀,“.js”,".json",".node"

(6)导入自定义模块,模块是目录,导入指定目录名

你可能感兴趣的:(NodeJS)