Vue的組件為什么要export default

Vue 的模塊機(jī)制

Vue 是通過 webpack 實(shí)現(xiàn)的模塊化,因此可以使用 import 來引入模塊,例如:

此外,你還可以在 bulid/webpack.base.conf.js 文件中修改相關(guān)配置:

? ? ? ?意思是,你的模塊可以省略 ".js",".vue",“.json” 后綴,weebpack 會(huì)在之后自動(dòng)添加上;可以用 "@" 符號(hào)代替 "src" 字符串等。

  export 用來導(dǎo)出模塊,Vue 的單文件組件通常需要導(dǎo)出一個(gè)對(duì)象,這個(gè)對(duì)象是 Vue 實(shí)例的選項(xiàng)對(duì)象,以便于在其它地方可以使用 import 引入。而 new Vue() 相當(dāng)于一個(gè)構(gòu)造函數(shù),在入口文件 main.js 構(gòu)造根組件的同時(shí),如果根組件還包含其它子組件,那么 Vue 會(huì)通過引入的選項(xiàng)對(duì)象構(gòu)造其對(duì)應(yīng)的 Vue 實(shí)例,最終形成一棵組件樹。

  export 和export default 的區(qū)別在于:export 可以導(dǎo)出多個(gè)命名模塊,例如:

//demo1.js

export const str = 'hello world';

export function f(a){ return a+1;}

對(duì)應(yīng)的引入方式:

//demo2.js

import { str, f } from 'demo1'

export default 只能導(dǎo)出一個(gè)默認(rèn)模塊,這個(gè)模塊可以匿名,例如:

//demo1.js

export default {

? ? a: 'hello',

? ? b: 'world'? ? ?

}

  對(duì)應(yīng)的引入方式:

//demo2.js

import obj from 'demo1'

引入的時(shí)候可以給這個(gè)模塊取任意名字,例如 "obj",且不需要用大括號(hào)括起來。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 無(wú)題 深一腳,淺一腳,哪有污泥不沾腳。 出此坑,入彼坑,一坑更比一坑深。 夜也深,夢(mèng)也深,月夜難圓月自憐。 天也冷...
    瞿靜閱讀 183評(píng)論 0 1
  • 今天是孩子新學(xué)期開學(xué)第一天,我也接到班主任老師通知,在參加上學(xué)期學(xué)校舉辦的“快樂家庭育兒故事”征文大賽中獲得...
    清幽的月光閱讀 247評(píng)論 2 2
  • 讀書打卡 7月22日 004 【書名】:《世界很大,幸好有你》 第五章: 一個(gè)人的幸福力 【筆記】:...
    南風(fēng)魚兒閱讀 170評(píng)論 0 0
  • ——《麥田里的守望者》完結(jié)后,當(dāng)晚思緒 如果可以,我想我明天六點(diǎn)就會(huì)出發(fā)。我會(huì)走許多的路,直到草原。運(yùn)氣好的話,我...
    日斜寒林閱讀 1,426評(píng)論 7 9

友情鏈接更多精彩內(nèi)容