鍍金池/ 問(wèn)答/HTML5  HTML/ vue.js 按需加載模塊問(wèn)題

vue.js 按需加載模塊問(wèn)題

Home上有個(gè)book-list的component,就是簡(jiǎn)單羅列一些圖書的封面和名稱,每個(gè)圖書可以點(diǎn)封面進(jìn)去到BookDetail的頁(yè)面,這些功能沒問(wèn)題的。
Home還有個(gè)按鈕可以顯示更多圖書,這就進(jìn)到另一個(gè)更多圖書的頁(yè)面,里面也有一個(gè)book-list的component,但是有一個(gè)問(wèn)題就是,如果不在Home點(diǎn)擊某本書進(jìn)入到BookDetail,在更多圖書的頁(yè)面每本書就點(diǎn)擊不進(jìn)去BookDetail。
在最后發(fā)現(xiàn)是按需加載的鍋,寫成馬上加載就沒有問(wèn)題了:

原來(lái)是

const BookDetail = resolve => require(['@/views/BookDetail'], resolve)

現(xiàn)在正常的是

import BookDetail from '../views/BookDetail'

誰(shuí)能告訴我如果要按需加載應(yīng)該怎么寫
PS:我的vue和webpack都是最新的

回答
編輯回答
練命
這是路由的懶加載,問(wèn)題描述的有點(diǎn)模糊,不知道是不是你要的
  • 聲明
const view = (path, name) => () => import(`@/components/${path}${name}`)// 路由按需加載
  • 用法
export default new Router({
  routes: [

    {
      path: '/',
      name: 'Index',
      component: view('', 'Index'),
      children: [
        {
          path: '/',
          name: 'Recomend',
          component: view('', 'Recomend')
        }
      ]
    }    
  ]
})
2018年8月15日 13:46