国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

關于export和export default你不知道的事

CarlBenjamin / 1482人閱讀

摘要:網上有很多關于和的文章,他們大部門都是只講了用法,但是沒有提到性能,打包等關鍵的東西。比如某個業務文件夾下的,用的時候用方便識別,不用重復在的中添加,也可以用方法提示。如果一個文件兼有以上需求可以同時和

網上有很多關于export和export default的文章,他們大部門都是只講了用法,但是沒有提到性能,打包等關鍵的東西。
大家應該應該能理解import * from "xxx"會把文件中export default的內容都打包到文件中,而import {func} from "xxx" 只會把文件中的func導入,這樣勢必export會比export default打包的少。看例子

utils.js

const func1 = () => {
    console.log("func1");
}

const func2 = () => {
    console.log("func2");
}

export default {
    func1,
    func2
}

index.js

import { render } from "react-dom";
import common from "./common";

class Index extends Component {
  render() {
    common.func1();
    return (
      123456
    );
  }
}

render(, document.getElementById("app"));

用這種export default的方法那么打包的文件會是怎么樣的呢?我們看看

我們發現整個文件被打包了

用另一種方式
utils.js

const func1 = () => {
    console.log("func1");
}

const func2 = () => {
    console.log("func2");
}

export {
    func1,
    func2
}

index.js

import { render } from "react-dom";
import {func1} from "./common";

class Index extends Component {
  render() {
    func1();
    return (
      123456
    );
  }
}

render(, document.getElementById("app"));

結果:

只打包了func1

綜上export default確實可能會打包更多不需要的內容,但是在某些場景用export default更好。
所以總結如下:

1.當文件存放著很多方法,變量不同場景需要引用不同方法,請用export
2.當類只有某幾個方法,并且每次引用都需要用到里面的大部分方法,請用export default,
  畢竟還有方法提示
3.當值導出一個方法,類請用export default
4.如果一個文件只會被某一個其他文件的子文件,不會被其他文件引用,并且其中的方法都會被用到,
  考慮用export default。比如某個業務文件夾下的action.js,用的時候用import api from "./action";
  方便識別,不用重復在import的{}中添加,也可以用方法提示。
4.如果一個文件兼有以上需求 可以同時export和export default

文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。

轉載請注明本文地址:http://m.specialneedsforspecialkids.com/yun/102688.html

相關文章

  • 簡述vue-router實現原理

    摘要:源碼解讀閱讀請關注下代碼注釋打個廣告哪位大佬教我下怎么排版啊,不會弄菜單二級導航撲通是什么首先,你會從源碼里面引入,然后再傳入參數實例化一個路由對象源碼基礎類源碼不選擇模式會默認使用模式非瀏覽器環境默認環境根據參數選擇三種模式的一種根據版 router源碼解讀 閱讀請關注下代碼注釋 打個廣告:哪位大佬教我下sf怎么排版啊,不會弄菜單二級導航(撲通.gif) showImg(https:...

    Cristalven 評論0 收藏0
  • 簡述vue-router實現原理

    摘要:源碼解讀閱讀請關注下代碼注釋打個廣告哪位大佬教我下怎么排版啊,不會弄菜單二級導航撲通是什么首先,你會從源碼里面引入,然后再傳入參數實例化一個路由對象源碼基礎類源碼不選擇模式會默認使用模式非瀏覽器環境默認環境根據參數選擇三種模式的一種根據版 router源碼解讀 閱讀請關注下代碼注釋 打個廣告:哪位大佬教我下sf怎么排版啊,不會弄菜單二級導航(撲通.gif) showImg(https:...

    Ajian 評論0 收藏0
  • [譯]你并不知道Node

    摘要:問題什么是調用棧并且它是的一部分么調用棧當然是的一部分。為什么理解是重要的因為你在每個進程中只能獲取一個調用棧。它是一個從事件隊列中跳去事件的循環并且將它們的回調壓入到調用棧中。當調用棧為空的時候,事件循環可以決定下一步執行哪一個。 你并不知道Node 原文:You don’t know Node 譯者:neal1991 welcome to star my articles-tra...

    miqt 評論0 收藏0
  • ES6-7

    摘要:的翻譯文檔由的維護很多人說,阮老師已經有一本關于的書了入門,覺得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發過程中,顯得越來越重要。為了讓編程更美好,我們就需要引入來降低異步編程的復雜性。 JavaScript Promise 迷你書(中文版) 超詳細介紹promise的gitbook,看完再不會promise...... 本書的目的是以目前還在制定中的ECMASc...

    mudiyouyou 評論0 收藏0

發表評論

0條評論

CarlBenjamin

|高級講師

TA的文章

閱讀更多
最新活動
閱讀需要支付1元查看
<