node.js exports 的作用是什么?
因为A.js文件想访问B.js文件中的类或函数,是不能直接访问的。为了解决这个问题 node.js 产生了 exports ,exports 实际可以理解为是一个JS对象,可以存储数组和对象等。
这个数组是存储在更高层,应该是由NODE.JS本身维护,可以理解为一个全局变量。
比如可以这样使用:
exports.a = 10;
exports.b = 20;
学过C++的可以这样理解: exports为一个map , exports[a] = 10, exports[b] = 20;
而require正是为获取的这个数组而准备的
如:
a.js 文件内容如下:
function test()
{
console.log("test called");
}
exports.testfunction = test;
b.js文件内容如下
var test = require('./a'); // 这行代码实际就是取得了A.JS文件导出的exports数组。并把他赋值给test变量;
//执行test 输出test called
test();