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

資訊專欄INFORMATION COLUMN

關(guān)于export和export default你不知道的事

CarlBenjamin / 1476人閱讀

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

網(wǎng)上有很多關(guān)于export和export default的文章,他們大部門都是只講了用法,但是沒有提到性能,打包等關(guān)鍵的東西。
大家應(yīng)該應(yīng)該能理解import * from "xxx"會把文件中export default的內(nèi)容都打包到文件中,而import {func} from "xxx" 只會把文件中的func導(dǎo)入,這樣勢必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的方法那么打包的文件會是怎么樣的呢?我們看看

我們發(fā)現(xiàn)整個文件被打包了

用另一種方式
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"));

結(jié)果:

只打包了func1

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

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

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/102688.html

相關(guān)文章

  • 簡述vue-router實現(xiàn)原理

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

    Cristalven 評論0 收藏0
  • 簡述vue-router實現(xiàn)原理

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

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

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

    miqt 評論0 收藏0
  • ES6-7

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

    mudiyouyou 評論0 收藏0

發(fā)表評論

0條評論

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