UNPKG

1.04 kBJavaScriptView Raw
1import { BaseLoader } from "./loader"
2import { cleanPath } from "./find-path"
3
4class 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 // when we can't find a proper 404.html we fallback to dev-404-page
22 // we need to make sure to mark it as not found.
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
38export default DevLoader