Vue是通過(guò)webpack實(shí)現(xiàn)的模塊化,因此可以使用import來(lái)引入模塊,例如:
import Vue from 'vue'
import Router from 'vue-router'
import util from '@assets/js/util'
export 用來(lái)導(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ì)通過(guò)引入的選項(xiàng)對(duì)象構(gòu)造其對(duì)應(yīng)的 Vue 實(shí)例,最終形成一棵組件樹(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'