|
1 | 1 | import Vue from 'vue';
|
2 | 2 | import VueRouter, { Location, Route, RouteConfig } from 'vue-router';
|
| 3 | +import { isHot, makeHot, reload } from './util/hot-reload'; |
3 | 4 |
|
4 | 5 | const homeComponent = () => import('./components/home').then(({ HomeComponent }) => HomeComponent);
|
5 | 6 | const aboutComponent = () => import('./components/about').then(({ AboutComponent }) => AboutComponent);
|
6 | 7 | const listComponent = () => import('./components/list').then(({ ListComponent }) => ListComponent);
|
| 8 | +// const homeComponent = () => import(/* webpackChunkName: 'home' */'./components/home').then(({ HomeComponent }) => HomeComponent); |
| 9 | +// const aboutComponent = () => import(/* webpackChunkName: 'about' */'./components/about').then(({ AboutComponent }) => AboutComponent); |
| 10 | +// const listComponent = () => import(/* webpackChunkName: 'list' */'./components/list').then(({ ListComponent }) => ListComponent); |
| 11 | + |
| 12 | +if (process.env.ENV === 'development' && isHot()) { |
| 13 | + const homeModuleId = './components/home'; |
| 14 | + const aboutModuleId = './components/about'; |
| 15 | + const listModuleId = './components/list'; |
| 16 | + |
| 17 | + // first arguments for `module.hot.accept` and `require` methods have to be static strings |
| 18 | + // see https://github.com/webpack/webpack/issues/5668 |
| 19 | + makeHot(homeModuleId, homeComponent, |
| 20 | + module.hot.accept('./components/home', () => reload(homeModuleId, (<any>require('./components/home')).HomeComponent))); |
| 21 | + |
| 22 | + makeHot(aboutModuleId, aboutComponent, |
| 23 | + module.hot.accept('./components/about', () => reload(aboutModuleId, (<any>require('./components/about')).AboutComponent))); |
| 24 | + |
| 25 | + makeHot(listModuleId, listComponent, |
| 26 | + module.hot.accept('./components/list', () => reload(listModuleId, (<any>require('./components/list')).ListComponent))); |
| 27 | +} |
7 | 28 |
|
8 | 29 | Vue.use(VueRouter);
|
9 | 30 |
|
|
0 commit comments