官术网_书友最值得收藏!

10.2 導入后重命名

很多時候模塊開發者和模塊使用者并不是同一個人,這樣就很容易產生命名沖突的問題,即導入的變量跟自己定義的變量是同一個名字。當然,出現這種情況時可以把自己的變量改成其他名字,但是如果要導入多個模塊,不同模塊之間發生命名沖突怎么辦呢?ES2015提供了簡單的解決方案:可將導入的變量重命名為一個跟模塊中不同的名字,使用as關鍵字來定義就可以了,例如下面的例子。

    //siteInfo.js
    var siteName = "excelib";
    var domainName = "www.excelib.com";
    function getSiteName(){
        return siteName;
    }
    function getDomainName(){
        return domainName;
    }
    export {getSiteName, getDomainName};


    //app.js
    import { getSiteName as getSite, getDomainName as getDomain } from "./siteInfo";
    console.log(getDomain());       //www.excelib.com
    console.log(getSiteName());     //出錯

這個例子在app.js中將getSiteName導入為getSite函數,將getDomainName導入為getDomain函數,因此在app.js中調用getSiteName就會出錯,而調用getDomain或者getSite函數都可以正常執行。

除了在導入的時候可以重命名外,在導出的時候也可以重命名,例如下面的例子。

    function getDomainName(){
        return domainName;
    }
    export {getDomainName as getDomain};

這個例子就將getDomainName導出為getDomain函數。

主站蜘蛛池模板: 敦化市| 柘荣县| 石景山区| 天台县| 彭州市| 搜索| 台南市| 广西| 平陆县| 通河县| 将乐县| 泰顺县| 托克托县| 易门县| 两当县| 永仁县| 视频| 抚顺市| 仙桃市| 长顺县| 井冈山市| 西乌| 潜山县| 大同县| 浮梁县| 葫芦岛市| 凤庆县| 鹤壁市| 泸水县| 赞皇县| 天全县| 富裕县| 阳曲县| 新营市| 收藏| 虹口区| 宁远县| 双流县| 革吉县| 承德市| 英吉沙县|