1 | import { BaseLoader } from "./loader"
|
2 | import { cleanPath } from "./find-path"
|
3 |
|
4 | class DevLoader extends BaseLoader {
|
5 | constructor(syncRequires, matchPaths) {
|
6 | const loadComponent = chunkName =>
|
7 | Promise.resolve(syncRequires.components[chunkName])
|
8 | super(loadComponent, matchPaths)
|
9 | }
|
10 |
|
11 | loadPage(pagePath) {
|
12 | const realPath = cleanPath(pagePath)
|
13 | return super.loadPage(realPath).then(result => {
|
14 | require(`./socketIo`).getPageData(realPath)
|
15 | return result
|
16 | })
|
17 | }
|
18 |
|
19 | loadPageDataJson(rawPath) {
|
20 | return super.loadPageDataJson(rawPath).then(data => {
|
21 |
|
22 |
|
23 | if (data.status === `failure`) {
|
24 | return this.loadPageDataJson(`/dev-404-page/`).then(result =>
|
25 | Object.assign({}, data, result)
|
26 | )
|
27 | }
|
28 |
|
29 | return data
|
30 | })
|
31 | }
|
32 |
|
33 | doPrefetch(pagePath) {
|
34 | return Promise.resolve(require(`./socketIo`).getPageData(pagePath))
|
35 | }
|
36 | }
|
37 |
|
38 | export default DevLoader
|