摘要:網(wǎng)上有很多關(guān)于和的文章,他們大部門都是只講了用法,但是沒(méi)有提到性能,打包等關(guān)鍵的東西。比如某個(gè)業(yè)務(wù)文件夾下的,用的時(shí)候用方便識(shí)別,不用重復(fù)在的中添加,也可以用方法提示。如果一個(gè)文件兼有以上需求可以同時(shí)和
網(wǎng)上有很多關(guān)于export和export default的文章,他們大部門都是只講了用法,但是沒(méi)有提到性能,打包等關(guān)鍵的東西。
大家應(yīng)該應(yīng)該能理解import * from "xxx"會(huì)把文件中export default的內(nèi)容都打包到文件中,而import {func} from "xxx" 只會(huì)把文件中的func導(dǎo)入,這樣勢(shì)必export會(huì)比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的方法那么打包的文件會(huì)是怎么樣的呢?我們看看
我們發(fā)現(xiàn)整個(gè)文件被打包了
用另一種方式
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確實(shí)可能會(huì)打包更多不需要的內(nèi)容,但是在某些場(chǎng)景用export default更好。
所以總結(jié)如下:
1.當(dāng)文件存放著很多方法,變量不同場(chǎng)景需要引用不同方法,請(qǐng)用export 2.當(dāng)類只有某幾個(gè)方法,并且每次引用都需要用到里面的大部分方法,請(qǐng)用export default, 畢竟還有方法提示 3.當(dāng)值導(dǎo)出一個(gè)方法,類請(qǐng)用export default 4.如果一個(gè)文件只會(huì)被某一個(gè)其他文件的子文件,不會(huì)被其他文件引用,并且其中的方法都會(huì)被用到, 考慮用export default。比如某個(gè)業(yè)務(wù)文件夾下的action.js,用的時(shí)候用import api from "./action"; 方便識(shí)別,不用重復(fù)在import的{}中添加,也可以用方法提示。 4.如果一個(gè)文件兼有以上需求 可以同時(shí)export和export default
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/102688.html
摘要:源碼解讀閱讀請(qǐng)關(guān)注下代碼注釋打個(gè)廣告哪位大佬教我下怎么排版啊,不會(huì)弄菜單二級(jí)導(dǎo)航撲通是什么首先,你會(huì)從源碼里面引入,然后再傳入?yún)?shù)實(shí)例化一個(gè)路由對(duì)象源碼基礎(chǔ)類源碼不選擇模式會(huì)默認(rèn)使用模式非瀏覽器環(huán)境默認(rèn)環(huán)境根據(jù)參數(shù)選擇三種模式的一種根據(jù)版 router源碼解讀 閱讀請(qǐng)關(guān)注下代碼注釋 打個(gè)廣告:哪位大佬教我下sf怎么排版啊,不會(huì)弄菜單二級(jí)導(dǎo)航(撲通.gif) showImg(https:...
摘要:源碼解讀閱讀請(qǐng)關(guān)注下代碼注釋打個(gè)廣告哪位大佬教我下怎么排版啊,不會(huì)弄菜單二級(jí)導(dǎo)航撲通是什么首先,你會(huì)從源碼里面引入,然后再傳入?yún)?shù)實(shí)例化一個(gè)路由對(duì)象源碼基礎(chǔ)類源碼不選擇模式會(huì)默認(rèn)使用模式非瀏覽器環(huán)境默認(rèn)環(huán)境根據(jù)參數(shù)選擇三種模式的一種根據(jù)版 router源碼解讀 閱讀請(qǐng)關(guān)注下代碼注釋 打個(gè)廣告:哪位大佬教我下sf怎么排版啊,不會(huì)弄菜單二級(jí)導(dǎo)航(撲通.gif) showImg(https:...
摘要:?jiǎn)栴}什么是調(diào)用棧并且它是的一部分么調(diào)用棧當(dāng)然是的一部分。為什么理解是重要的因?yàn)槟阍诿總€(gè)進(jìn)程中只能獲取一個(gè)調(diào)用棧。它是一個(gè)從事件隊(duì)列中跳去事件的循環(huán)并且將它們的回調(diào)壓入到調(diào)用棧中。當(dāng)調(diào)用棧為空的時(shí)候,事件循環(huán)可以決定下一步執(zhí)行哪一個(gè)。 你并不知道Node 原文:You don’t know Node 譯者:neal1991 welcome to star my articles-tra...
摘要:的翻譯文檔由的維護(hù)很多人說(shuō),阮老師已經(jīng)有一本關(guān)于的書了入門,覺(jué)得看看這本書就足夠了。前端的異步解決方案之和異步編程模式在前端開發(fā)過(guò)程中,顯得越來(lái)越重要。為了讓編程更美好,我們就需要引入來(lái)降低異步編程的復(fù)雜性。 JavaScript Promise 迷你書(中文版) 超詳細(xì)介紹promise的gitbook,看完再不會(huì)promise...... 本書的目的是以目前還在制定中的ECMASc...
閱讀 3404·2023-04-26 02:10
閱讀 2951·2021-10-12 10:12
閱讀 4753·2021-09-27 13:35
閱讀 1603·2019-08-30 15:55
閱讀 1136·2019-08-29 18:37
閱讀 3514·2019-08-28 17:51
閱讀 2030·2019-08-26 13:30
閱讀 1296·2019-08-26 12:09