当前位置: 首页 > 后端技术 > Node.js

Node.js模块系统(创建模块和加载模块)

时间:2023-04-04 00:44:36 Node.js

Node.js模块系统为了让Node.js文件能够相互调用,Node.js提供了一个简单的模块系统。Node.js应用程序由模块基本部分组成,文件和模块是一一对应的。一个Node.js文件就是一个模块,可以是js代码,JSON或者编译好的C/C++扩展。接下来写一个例子。创建模块和导入模块非常简单。首先,我们编写一个hello.js文件代码如下//模块的主要逻辑log('Hello'+name)}}module.exports=Hello//export模块exports和module.exports的使用如果想对外暴露属性或方法,直接使用exports暴露对象即可(类似class,包含很多属性和方法),使用module.exports。然后写一个文件到模块中main.jsconstHello=require('./hello')//这里使用require导入刚刚写好的hello.jslethello=newHello()hello.setName('Thinking')hello.服务器端的sayHello()模块加载过程。node.js中有原生模块和三个文件模块。在使用中,只需要require。使用起来很简单,但是内部加载很复杂,加载优先级也不一样。不同的是,如下图所示,无论是哪种模块,加载机制都会先检查文件是否在模块缓存区。缓存区的意义在于防止某个模块被重复加载。缓存区分为两种,一种是文件模块缓存区,也就是我们说的三种文件类型,另一种是原生模块缓存区,比如httpfs等原生模块。