Node.js中暴露接口和引入模块的方法
【摘要】 为了Node.js的文件可以相互调用,在开发过程中,为了方便编写和维护代码,Node.js提供了一个简单的模块系统,把函数分组分别放在不同文件里面。模块是Node.js 应用程序的基本组成部分,文件和模块是一一对应的。一个 Node.js 文件就是一个模块,这个文件可能是JavaScript 代码、JSON 或者编译过的C/C++ 扩展。这样就大大提高了代码的可维护性和代码的可复用性,并且使...
为了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会依次在内置模块、全局模块和当前模块中查询引入的模块名,如果在此过程中程序报错,要检查模块名是否正确,模块文件是否存在,相对路径是否正确。
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
作者其他文章
评论(0)