@@ -11,23 +11,19 @@ export default class JsxWriter implements Writer {
11
11
add ( path : string , url : string , changed : string ) : void
12
12
{
13
13
this . items . push ( ` (() => {
14
- const LazyElement = buildLazyElement(OfflineLoader, RefreshLoader, './pages/${ path } /index.tsx',);
15
- return {
16
- path: '${ url } ',
17
- exact: true,
18
- element: <Suspense fallback={<Loader/>}><LazyElement/></Suspense>,
19
- };
20
- })(),`
14
+ const LazyElement = buildLazyElement(OfflineLoader, RefreshLoader, import('./pages/${ path } /index.tsx',),);
15
+ return buildRoute(LazyElement, Loader, '${ url } ');
16
+ })(),`
21
17
) ;
22
18
}
23
19
toString ( ) : string {
24
20
return 'import React, {\n' +
25
21
' lazy,\n' +
26
22
' Suspense,\n' +
27
23
'} from \'react\';\n\n' +
28
- 'const buildLazyElement = (OfflineLoader, RefreshLoader, path ,) => lazy(async() => {\n' +
24
+ 'const buildLazyElement = (OfflineLoader, RefreshLoader, imp ,) => lazy(async() => {\n' +
29
25
' try {\n' +
30
- ' return await import(path) ;\n' +
26
+ ' return await imp ;\n' +
31
27
' } catch (e) {\n' +
32
28
' if (OfflineLoader && ! window.navigator.onLine) {\n' +
33
29
' return {default: OfflineLoader};\n' +
@@ -39,6 +35,13 @@ export default class JsxWriter implements Writer {
39
35
' throw e;\n' +
40
36
' }\n' +
41
37
'},);\n\n' +
38
+ 'const buildRoute = (LazyElement, Loader, url) => {\n' +
39
+ ' return {\n' +
40
+ ' path: url,\n' +
41
+ ' exact: true,\n' +
42
+ ' element: <Suspense fallback={<Loader/>}><LazyElement/></Suspense>,\n' +
43
+ ' }\n' +
44
+ '};\n\n' +
42
45
'export default (' +
43
46
' Loader,' +
44
47
' RefreshLoader = undefined,' +
0 commit comments