Node模块-Module,Path
程序员文章站
2022-06-30 19:54:47
...
Node模块-Module,Path
Node.js的模块分为两类,一类为原生(核心)模块,一类为文件模块。
在文件模块中,又分为3类模块。这三类文件模块以后缀来区分,Node.js会根据后缀名来决定加载方法。
- js。通过fs模块同步读取js文件并编译执行。
- node。通过C/C++进行编写的Addon。通过dlopen方法进行加载。
- json。读取文件,调用JSON.parse解析加载。
模块(Modules)的定义:一个node.js文件就是一个模块,文件名就是模块名。也就是说文件和模块是一一对应的关系。这个文件可以是JavaScript代码,JSON或者编译过的C/C++扩展。
模块的目的:可以管理一系列方法,更加有利于业务代码的封装。模块中的方法对外不可见。
模块如何对外提供接口:module.exports
class Person {
constructor(name,age){
this.name = name;
this.age =age;
}
say(word){
console.log(`${this.name} is saying : ${word}`);
}
}
module.exports = Person;
//或者
// module.exports = {
// tb:Person
// }
如何查找可用模块:module.require(“相对/绝对路径”)
let Person = require("./Person");
//const {tb} = require("./Person");
//node js没有windows对象,不能使用alert
require方法中的文件查找策略
当require一个文件模块时,从当前文件目录开始查找nodemodules目录;然后依次进入父目录,查找父目录下的nodemodules目录;依次迭代,直到根 目录下的node_modules目录。
require方法接受以下几种参数的传递:
1. http、fs、path等,原生模块。
2. ./mod或../mod,相对路径的文件模块。
3. /pathtomodule/mod,绝对路径的文件模块。
4. mod,非原生模块的文件模块。
上一篇: Java使用GUI完成UDP通信
下一篇: Shiro基于权限的访问控制