Vue按需加載
阿新 • • 發佈:2018-05-17
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按需加載