module.exports與exports,export與export default的區別


Node使用CommonJS規范,定義每個模塊的內部,module變量代表當前模塊,exports是module的屬性,表示對外的接口。加載某個模塊,實際上是加載該模塊的module.exports屬性。
Node為每隔模塊提供了一個exports變量,指向module.exports,這等同於每個模塊頭部有這樣的一行代碼:var exports = module.exports
ES6使用export和import來導出/導入模塊。
3.1 export與export default均可用於導出常量/函數/文件/模塊等;
3.2 在一個文件或模塊中,export/import可以有多個,export default只有一個;
3.3 通過export方式導出,在導入時需要加{},export default不需要;
3.4 export能導出變量/表達式,export default不可以。
CommonJS模塊輸出是一個值的拷貝,ES6模塊輸出是值的引用。
CommonJS模塊是運行時加載,ES6模塊是編譯時輸出接口。
CommonJS模塊無論require多少次,都只會在第一次加載時運行一次,然后保存到緩存中,下次在require,只會去從緩存取。

module.exports與exports ,是CommonJS的規范,被使用於Node.js中。export與export default ,是ES6規范,被使用於React或Vue中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM