鍍金池/ 問(wèn)答/HTML/ 基于vue的單頁(yè)Web應(yīng)用,如何做到按需加載其它頁(yè)面?

基于vue的單頁(yè)Web應(yīng)用,如何做到按需加載其它頁(yè)面?

目前正在學(xué)vue,剛學(xué)到能使用vue-cli開(kāi)始開(kāi)發(fā),但是我發(fā)現(xiàn)參照vue-cli構(gòu)建的腳手架寫的頁(yè)面(即在src/components/下寫.vue文件),會(huì)全部打包在一個(gè)js文件里,那如果頁(yè)面很多,豈不是首次進(jìn)入會(huì)很慢?

我想深一步學(xué)下去,請(qǐng)問(wèn)要怎么把這些頁(yè)面分開(kāi)?最好是一個(gè)頁(yè)面一個(gè)js

ps. 我構(gòu)建的腳手架是不含編譯器的,請(qǐng)問(wèn)是否有必要含一下?

回答
編輯回答
情皺

1.可以用路由按需加載。

{
    path: '/applay/toDoList',
    name: 'toDoList',
    meta: { requireAuth: true ,title: '待處理列表',topMenueSb: true},
    component: () => import('../page/applay/toDoList')
}

2.這樣比如首頁(yè)就只會(huì)加加載首頁(yè)index.vue的代碼。相對(duì)來(lái)說(shuō)縮短首頁(yè)加載時(shí)間。
3.你都說(shuō)了。這是單頁(yè)面應(yīng)用,既然是單頁(yè)面應(yīng)用,又如何做到一個(gè)頁(yè)面引入一個(gè)js呢?個(gè)人觀點(diǎn),既然用了這個(gè)單頁(yè)面模式,就要盡力去契合這種模式。在這個(gè)模式下優(yōu)化你遇到的問(wèn)題。
4.如果你的目的是想用vue ,但是又不想用webpack打包的這種模式。vue是漸進(jìn)式的,可以直接在html上引入vue.js。
然后就可以像傳統(tǒng)jq項(xiàng)目一樣去寫。

2017年2月18日 12:35
編輯回答
尋仙

require.ensure 也可以

2017年1月28日 11:21