本文主要是介绍关于node中为什么会同时存在export,module.export,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
我估计很多人一开始学习的时候都会想为什么会同时存在export,module.export
关于这块我写过一篇浅显的原理文章跳转
这个主要就是作用域的原因,我举一个简单的例子
function a(b) {b = { "a": 1, "b": 2, "c": 3 };
}
let c = { d: {} };
a(c.d);
console.log(c);
结果c不变,这个就是个类似原理,文件可以认为是个模块,然后被函数加载
关于我写的那篇文里谈到过以下
let module={exports:{}}//这也是为什么 exports==module.exports 为true的原因,同时更改更改module.exports={}后,就不相等的原因let exports=module.exports.......let __dirname=getDirename(path)let __filename=moduleID.......//require()将接受五个参数,这也是为什么你的文件里可以直接使用这个参数的原因,//这也是高深的'生产环境’,也就是运行在不同函数的参数不同function _require(exports,require,module,__filename,__diranme){.....}
这篇关于关于node中为什么会同时存在export,module.export的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!