module.exports、exports、export default、export、require、import 區別和不同之處

在es5中,用 module.exports 和 exports 導出模塊,用 require 導入模塊。
在es6中,新增 export default 和 export 導出模塊,用 import 導入模塊。
如果開發環境支持es6語法,用es5的 module.exports 和 exports 導出的模塊,可以使用es6的 import 導入;
用es6的 export default 和 export 導出的模塊,可以使用 es5 的 require 導入。

1. export
    用於對外輸出本模塊(一個文件可以理解爲一個模塊)變量的接口
    使用export 導出的對象需要使用{}括起來
    export xxx;

2. export default
    export default輸出一個叫做default的變量,然後系統允許你爲它取任意名字。
    所以可以爲import的模塊起任何變量名,且不需要用大括號包含
    export default xxx;

3. exports
    es5版本的export
    exports.xxx = func1;
    
4. module.exports
    es5版本的export default
    module.exports = xxx;

5. require
    用於在一個模塊中加載另一個含有exports接口的模塊

6. import
    用於在一個模塊中加載另一個含有export接口的模塊。
    
    
注意:
    1、export default 向外暴露的成員,可以使用任意變量來接收
    
    2、在一個模塊中,export default 只允許向外暴露一次
    
    3、在一個模塊中,可以同時使用export default 和export 向外暴露成員

    4、使用export向外暴露的成員,只能使用{ }的形式來接收,這種形式,叫做【按需導出】

    5、export可以向外暴露多個成員,同時,如果某些成員,在import導入時,不需要,可以不在{ }中定義

    6、使用export導出的成員,必須嚴格按照導出時候的名稱,來使用{ }按需接收

    7、使用export導出的成員,如果想換個變量名稱接收,可以使用as來起別名

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章