1. 程式人生 > >Vue按需加載

Vue按需加載

api out 沒有 ade 實現 webpack number HA 相同

vue項目實現按需加載的3種方式:vue異步組件、es提案的import()、webpack的require.ensure()

1. vue異步組件技術

  • vue-router配置路由,使用vue的異步組件技術,可以實現按需加載。

但是,這種情況下一個組件生成一個js文件。
代碼如下:

        {
            path: ‘/demo‘,
            name: ‘Demo‘,
            component: resolve => require([‘../components/Demo‘], resolve)
        }

2. es提案的import()

  • 薦使用這種方式(需要webpack > 2.4)
  • vue-router配置路由,代碼如下:
// 下面2行代碼,沒有指定webpackChunkName,每個組件打包成一個js文件。
const Demo1 = () => import(‘../components/Demo1‘)

// 下面2行代碼,指定了相同的webpackChunkName,會合並打包成一個js文件。
// const Demo1 = () => import(/* webpackChunkName: ‘Demo‘ */ ‘../components/Demo‘)

export default new Router({
    routes: [
        {
            path: ‘/demo1‘,
            name: ‘Demo1‘,
            component: Demo1
        }
    ]
})

3. webpack提供的require.ensure()

  • vue-router配置路由,使用webpack的require.ensure技術,也可以實現按需加載。

舉例如下:

        {
            path: ‘/dome‘,
            name: ‘Dome‘,
            component: resolve => require.ensure([], () => resolve(require(‘../components/Dome‘)), ‘demo‘)
        }
        

Vue按需加載