exports 與module.exports 是nodejs中用來導入導出子產品的指令,但是連兩者的關系比較複雜,這裡簡單總結一下
- 每個子產品都有一個module對象;
- module對象中有一個exports對象;
- 我們可以把對象需要把導出的成員挂載到module.exports接口對象中;
- 也就是:
的方式;module.exports.xxx = xxx
- node在每一個子產品中都提供了一個成員叫做:
并且exports
結果是exports === module.exports
;true
- 是以對于
可以簡化為module.exports.xxx = xxx
;exports.xxx === xxx
- 當一個子產品需要導出單個成員的時候,必須使用
的方式,不要使用module.exports === xxx
,因為每個子產品最終向外exports === xxx
的是return
,而module.exports
隻是一個引用;exports
- 是以即使給
重新指派,也不會影響exports = xx
,除了很暴力的直接把module.exports
,直接重建立立引用關系exports = module.exports