Node.js中暴露接口和引入模块的方法
为了Node.js的文件可以相互调用,在开发过程中,为了方便编写和维护代码,Node.js提供了一个简单的模块系统,把函数分组分别放在不同文件里面。模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。
一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。
这样就大大提高了代码的可维护性和代码的可复用性,并且使用模块还可以避免函数名和变量名的冲突。
Node.js有两种形式的模块,即内置模块和自定义模块。
一、 Node.js中的内置模块
node.js本身提供了一些模块,即内置模块,不用下载,直接使用require引入就可以使用了,像fs,path等内置模块。
内置模块引用方法: 直接写模块名称就行,不需要写路径,例如
const path = require('path');
二、自定义模块
有时候可以将某一个功能封装为一个模块,写在一个js文件里面,以方便以后的使用,这时就需要将模块暴露接口,用于引入。
暴露自定义模块
自定义模块的暴露有两种方法:
例如 将a,b,函数add()暴露出去
方法一: exports
exports.a = 1; exports.b = 10; exports.add = function(){ console.log(a + b); }
方法二: module.exports
module.exports.a = 1; module.exports.b = 10; module.exports.add = function(){ console.log(a + b); }
这样写仍然比较麻烦,可以将a,b,add()放在一个对象中,一起暴露出去
module.exports = { a : 1, b : 10, add : function(){ console.log(a + b); } }
引入自定义模块
使用require(路径) 例如
01.js和02.js在同一个文件夹
在01.js中引入02.js可以如下写
const res = require("./02");
或
const res = require("./02.js");
02.js在01.js的上一层文件夹
可写为
const res = require("../02");
或
const res = require("../02.js;
注意:在使用require引入模块时,Node会依次在内置模块、全局模块和当前模块中查询引入的模块名,如果在此过程中程序报错,要检查模块名是否正确,模块文件是否存在,相对路径是否正确。
- 点赞
- 收藏
- 关注作者
评论(0)