你真的懂 exports 和 module.exports 么?
为什么要这么写? 有什么目的么?
exports = module.exports = function init (app) {}
9 回复
这样写对么?居然能赋值给exports
?
@zhanzhenzhen 不懂了吧,哈哈,我也不知道。所以来问问。
@dlyt 为了exports.xxx的东西也能导出 不这么写,只有module.exports = xxx 能导出来,后面所有的 exports.xxx=xxxx 都会失效,所以很多开源npm包这么干 其实本质上是js的 by-sharing 的引用形式导致的问题,这个就是一种解决办法
@hyj1991 原来如此,学习了
@hyj1991 3Q
@DuanPengfei 这篇文章的理解也是有问题的,可以看这个 What is Name binding?
@hyj1991 恩恩,没有特别仔细看,不过大体应该是可以的,说到底无非就是搞清楚 require 加载的是什么和JS 语法的引用嘛,就因为名字有点像,初学者经常搞不清楚
exports是globe下的全局对象,最好不要改变它的指向, 可以用exports.xx = xxx