最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

JS中的export關鍵字使用場景

 更新時間:2026年01月21日 11:22:44   作者:Hi_kenyon  
export關鍵字在JavaScript中用于導出變量、函數(shù)或組件,使其在其他文件中可用,在Vue3中,主要有默認導出和具名導出兩種方式,本文給大家介紹JS中的export關鍵字使用場景,感興趣的朋友跟隨小編一起看看吧

Motivation

經(jīng)常在js的代碼中看到export關鍵字,但是不懂這個關鍵字是什么意思,借助LLM整理了一下對這個概念的理解,這里作為筆記記錄一下。

Concept

在 Vue(以及整個 JavaScript 生態(tài))中,export 關鍵字的意思是 “導出”。

如果把一個 .js.vue 文件比作一個獨立的房間,那么默認情況下,房間里的變量、函數(shù)或組件都是被“鎖”在里面的,外面的人看不見也用不了。export 關鍵字就像是給這個房間開了一扇窗或一扇門,允許其他文件訪問這些內(nèi)容。

在 Vue 3 開發(fā)中,我們主要會遇到兩種導出方式:具名導出默認導出。

1. 默認導出 (Export Default)

這是你在 Vue 組件(.vue 文件)中見得最多的方式。它表示:“如果你引用這個文件,我默認就給你這個東西”。

  • 案例說明: > 場景: 你寫了一個名為 PostView.vue 的發(fā)帖頁面。

代碼:

export default {
  name: 'PostPage'
}

特點: 一個文件只能有一個 export default。就像一個家只能有一個“大門”。
導入時: 你可以隨便給它起名字。import MyPostPage from './PostView.vue'。

2. 具名導出 (Named Export)

當你想要在一個文件里導出多個東西(比如一堆工具函數(shù))時,就需要給它們起名字。

  • 案例說明:

場景: 你寫了一個 format.js,專門用來處理論壇的時間顯示。
代碼:

export const formatTime = (time) => { ... }
export const formatUserName = (name) => { ... }

特點: 一個文件可以有無數(shù)個具名導出。
導入時: 必須帶上花括號,且名字要對上。import { formatTime } from './format.js'

3. 在 Vue 3<script setup>中的特殊情況

你可能會發(fā)現(xiàn),在我們之前寫的 PostView.vue 里,根本沒有寫 export 關鍵字,但路由依然能引用它。這是為什么?

<script setup>
// 這里沒有任何 export 關鍵字
</script>
  • 背后的原理: 這是 Vue 3 的語法糖。當你使用 <script setup> 時,Vite 和 Vue 編譯器會自動幫你把這個組件 “默認導出”
  • 編譯器的工作: 它在后臺默默地幫你補齊了代碼,效果等同于 export default { ... }。這正是 Vue 3 讓代碼變簡潔的高明之處。

4. 總結對比:export與import

它們是成對出現(xiàn)的“進出口貿(mào)易”:

動作關鍵字類比
提供方export倉庫發(fā)貨,把東西擺上貨架。
使用方import商店進貨,把東西買回來用。

為什么要用它?

如果沒有 export,你的整個論壇項目就必須寫在一個巨大的 .html 文件里(就像幾萬行代碼擠在一起)。有了 export,你才能實現(xiàn):

  1. 模塊化: 把首頁、發(fā)帖頁、個人中心拆成不同的文件。
  2. 復用性: 寫一個漂亮的按鈕組件,通過 export 導出后,在全站任何地方都能 import 使用。

VUE3中的steup語法糖與export

這里這個概念需要著重提一下:上面兩種寫法并不是 Vue 2 和 Vue 3 的區(qū)別,而是**“傳統(tǒng)寫法”**與 “Vue 3 語法糖(<script setup>)” 的區(qū)別。

在 Vue 3 中,如果你使用全新的 <script setup> 模式,Vue 的編譯器確實在后臺幫你做了很多“體力活”。

  • 在 Vue 2(或 Vue 3 的傳統(tǒng)寫法)中:
    你必須寫 export default { ... },明確地告訴系統(tǒng):“我要把這個組件對象導出去”。
  • 在 Vue 3 <script setup> 中:
    你不需要寫 export default。因為編譯器知道,既然你寫了這個 .vue 文件,你肯定是要用它的。它會自動幫你把整個組件包裝成一個默認導出。

案例說明:
場景: 你寫了一個名為 ForumCard.vue 的小卡片組件。
Vue 3 代碼:

<script setup>
const title = "我是帖子標題"
// 注意:這里不需要寫 export,外面也能用這個組件
</script>

真相: 雖然你沒寫,但 Vite 在處理這個文件時,會自動把它翻譯成一個帶有 export default 的 JavaScript 模塊。

1. 依然需要顯式export的場景

雖然組件本身不需要你手動導出了,但在 Vue 3 的某些地方,你依然需要用到 export。最典型的就是比如 Pinia(倉庫)工具類文件。

場景 A:全局數(shù)據(jù)倉庫 (Pinia)

你要讓全站都能訪問“用戶信息”,你必須手動導出它。

// src/stores/user.js
import { defineStore } from 'pinia'
// 你必須寫這個 export,否則 main.js 和其他頁面找不到這個倉庫
export const useUserStore = defineStore('user', {
  state: () => ({ name: '新手小萌' })
})

場景 B:公共函數(shù)庫

如果你寫了一個專門處理“論壇日期格式化”的函數(shù),你也需要導出它。

// src/utils/time.js
// 必須導出,其他頁面才能 import 它
export function formatDate(date) { ... }

2. 深度對比:Vue 2 vs Vue 3 導出邏輯

特性Vue 2 (Options API)Vue 3 (<script setup>)
組件對象導出必須顯式寫 export default自動完成,不需要寫
變量/函數(shù)導出datamethods 中返回自動暴露給模板使用,但導出給外部仍需 export
外部 JS 文件必須寫 export必須寫 export

3. 總結:什么時候該寫export?

作為新手,要記住這條簡單的準則:

  1. 如果你是在寫 .vue 文件: 只要用了 <script setup>,你就不需要寫 export 導出組件自己。
  2. 如果你是在寫 .js 文件:(比如路由配置、數(shù)據(jù)倉庫、工具函數(shù)),你依然需要寫 export,否則其他文件找不到它們。

到此這篇關于JS中的export關鍵字的文章就介紹到這了,更多相關JS中的export關鍵字內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • JavaScript實現(xiàn)可拖動模態(tài)框

    JavaScript實現(xiàn)可拖動模態(tài)框

    這篇文章主要為大家詳細介紹了JavaScript實現(xiàn)可拖動模態(tài)框,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • 用JavaScript實現(xiàn)輪播圖效果

    用JavaScript實現(xiàn)輪播圖效果

    這篇文章為大家詳細主要介紹了用JavaScript實現(xiàn)輪播圖效果,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • JavaScript學習筆記(三):JavaScript也有入口Main函數(shù)

    JavaScript學習筆記(三):JavaScript也有入口Main函數(shù)

    大家都知道在c和java中,有main函數(shù)貨main方法作為一個程序的入口函數(shù)或方法。在JS中從js源文件的頭部開始運行的,我們?nèi)匀豢梢蕴摌嫵鲆粋€main函數(shù)來作為程序的起點,這樣一來不僅可以跟其他語言統(tǒng)一了,而且說不定你會對JS有更深的理解。感興趣的小伙跟著小編一起學習吧
    2015-09-09
  • JS獲取地址欄參數(shù)的幾種方法小結

    JS獲取地址欄參數(shù)的幾種方法小結

    本篇文章主要是對JS獲取地址欄參數(shù)的幾種方法進行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助
    2014-02-02
  • JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例

    JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例

    這篇文章主要介紹了JavaScript中使用arguments獲得函數(shù)傳參個數(shù)實例,本文用了多個例子來講解arguments的使用,需要的朋友可以參考下
    2014-08-08
  • jsonp跨域及實現(xiàn)百度首頁聯(lián)想功能的方法

    jsonp跨域及實現(xiàn)百度首頁聯(lián)想功能的方法

    這篇文章主要介紹了jsonp跨域及實現(xiàn)百度首頁聯(lián)想功能的方法,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-08-08
  • IE6下CSS圖片緩存問題解決方法

    IE6下CSS圖片緩存問題解決方法

    ie6下如果用css圖片平鋪,會出現(xiàn)cpu短暫100%的情況,主要原因在于,ie6會重復下載圖片。
    2010-12-12
  • 用戶引導插件driverjs的基本使用以及彈窗樣式修改方法

    用戶引導插件driverjs的基本使用以及彈窗樣式修改方法

    Driver.js是一個強大的、輕量級、使用原生JavaScript引擎開發(fā)的庫,用于在頁面聚焦用戶的關注點,下面這篇文章主要介紹了用戶引導插件driverjs的基本使用以及彈窗樣式修改方法,需要的朋友可以參考下
    2024-04-04
  • JavaScript插件化開發(fā)教程 (一)

    JavaScript插件化開發(fā)教程 (一)

    這篇文章主要介紹了JavaScript插件化開發(fā)教程,十分的詳細,
    2015-01-01
  • JavaScript如何利用Promise控制并發(fā)請求個數(shù)

    JavaScript如何利用Promise控制并發(fā)請求個數(shù)

    大家都知道js是單線程,并不存在真正的并發(fā),但是由于JavaScript的Event Loop機制,使得異步函數(shù)調用有了“并發(fā)”這樣的假象。這篇文章主要給大家介紹了關于JavaScript如何利用Promise控制并發(fā)請求個數(shù)的相關資料,需要的朋友可以參考下
    2021-05-05

最新評論

长海县| 鹤峰县| 临朐县| 昂仁县| 乌拉特后旗| 枣阳市| 桃江县| 商丘市| 庐江县| 日照市| 嘉祥县| 凤城市| 商南县| 新兴县| 正阳县| 霸州市| 杂多县| 庆云县| 巴里| 南昌县| 阳山县| 海伦市| 思南县| 兴山县| 芜湖县| 紫云| 封丘县| 乌鲁木齐县| 漯河市| 郯城县| 雷波县| 尼勒克县| 德昌县| 三江| 清水河县| 东乡族自治县| 成都市| 门头沟区| 平昌县| 武山县| 加查县|