0👍
You need to do is define your route components as async components:
const Foo = resolve => {
// require.ensure is Webpack's special syntax for a code-split point.
require.ensure(['./Foo.vue'], () => {
resolve(require('./Foo.vue'))
})
}
https://github.com/vuejs/vue-router/blob/dev/docs/en/advanced/lazy-loading.md
Source:stackexchange.com