在 Node.js 模块系统中,每个文件都被视为独立的模块。
require() 加载模块 参数为模块名(脚本名) 返回一个模块
module.exports = {} 提供模块 module提供的是整个模块,而一个js文件就视为一个独立的模块. 每个js脚本只有一个modlue.exports生效 多个modlue.exports会覆盖.
exports: module.exports的快捷方式, 隐式引用modlue.exports的值或整个引用. 当moudle.exports改变后 exports会失效
foo.js
exports.a = function(){
console.log('a')
}
module.exports = {a: 2}
exports.a = 1
test.js
var x = require('./foo');
console.log(x.a)
result:
2