三种导出方式
在 NodeJS 中想要导出模块中的变量或者函数有三种方式
- 通过exports.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
exports.str = name;
exports.fn = sum;
b.js
let aModule = require("./07-a");
console.log(aModule);
console.log(aModule.str);
console.log(aModule.fn(10, 20));
运行结果如下所示:
- 通过 module.exports.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
module.exports.str = name;
module.exports.fn = sum;
b.js 其实可以不动的,我把返回值单独的接收了一下然后在输出打印。
let aModule = require("./07-a");
console.log(aModule);
console.log(aModule.str);
let res = aModule.fn(10, 20);
console.log(res);
运行结果如下所示:
- 通过 global.xxx = xxx 导出
a.js
let name = "it6666.top";
function sum(a, b) {
return a + b;
}
global.str = name;
global.fn = sum;
b.js
let aModule = require("./07-a");
console.log(str);
let res = fn(10, 20);
console.log(res);
运行结果如下所示:
注意点
无论通过哪种方式导出, 使用时都需要先导入 (require)
才能使用导出的内容,通过 global.xxx
方式导出不符合CommonJS规范, 不推荐使用。