File tree 5 files changed +25
-18
lines changed
packages/bundler-webpack/src/build
5 files changed +25
-18
lines changed Original file line number Diff line number Diff line change 15
15
"type" : " node-terminal" ,
16
16
"request" : " launch" ,
17
17
"command" : " pnpm docs:build"
18
+ },
19
+ {
20
+ "name" : " docs:dev (webpack)" ,
21
+ "type" : " node-terminal" ,
22
+ "request" : " launch" ,
23
+ "command" : " DOCS_BUNDLER=webpack pnpm docs:dev"
24
+ },
25
+ {
26
+ "name" : " docs:build (webpack)" ,
27
+ "type" : " node-terminal" ,
28
+ "request" : " launch" ,
29
+ "command" : " DOCS_BUNDLER=webpack pnpm docs:build"
18
30
}
19
31
]
20
32
}
Original file line number Diff line number Diff line change @@ -79,12 +79,8 @@ export const build = async (
79
79
const clientManifest : ClientManifest = await fs . readJson ( clientManifestPath )
80
80
81
81
// resolve client files meta
82
- const {
83
- allFilesMeta,
84
- initialFilesMeta,
85
- asyncFilesMeta,
86
- moduleFilesMetaMap,
87
- } = resolveClientManifestMeta ( clientManifest )
82
+ const { initialFilesMeta, asyncFilesMeta, moduleFilesMetaMap } =
83
+ resolveClientManifestMeta ( clientManifest )
88
84
89
85
// load the compiled server bundle
90
86
const serverEntryPath = app . dir . temp ( '.server/app.cjs' )
@@ -107,7 +103,6 @@ export const build = async (
107
103
vueRouter,
108
104
renderToString,
109
105
ssrTemplate,
110
- allFilesMeta,
111
106
initialFilesMeta,
112
107
asyncFilesMeta,
113
108
moduleFilesMetaMap,
Original file line number Diff line number Diff line change @@ -31,7 +31,6 @@ export const renderPage = async ({
31
31
vueRouter,
32
32
renderToString,
33
33
ssrTemplate,
34
- allFilesMeta,
35
34
initialFilesMeta,
36
35
asyncFilesMeta,
37
36
moduleFilesMetaMap,
@@ -42,7 +41,6 @@ export const renderPage = async ({
42
41
vueRouter : Router
43
42
renderToString : ( input : VueApp , context : SSRContext ) => Promise < string >
44
43
ssrTemplate : string
45
- allFilesMeta : FileMeta [ ]
46
44
initialFilesMeta : FileMeta [ ]
47
45
asyncFilesMeta : FileMeta [ ]
48
46
moduleFilesMetaMap : ModuleFilesMetaMap
Original file line number Diff line number Diff line change @@ -24,16 +24,14 @@ export const createClientPlugin = (
24
24
'vuepress-client-plugin' ,
25
25
async ( compilation ) => {
26
26
// get webpack stats object
27
- const stats : StatsToJsonOutput = compilation
28
- . getStats ( )
29
- . toJson ( ) as unknown as StatsToJsonOutput
30
-
31
27
const {
32
28
assets = [ ] ,
33
29
modules = [ ] ,
34
30
entrypoints = { } ,
35
31
chunks = [ ] ,
36
- } = stats
32
+ } : StatsToJsonOutput = compilation
33
+ . getStats ( )
34
+ . toJson ( ) as unknown as StatsToJsonOutput
37
35
38
36
// get all files
39
37
const allFiles = assets . map ( ( a ) => a . name )
Original file line number Diff line number Diff line change @@ -12,15 +12,19 @@ module.exports = function vuepressLoader(source: string): string {
12
12
// get `request` from loader context
13
13
const { request } = this as any
14
14
15
+ if ( ! request . endsWith ( '.vue' ) ) return source
16
+
15
17
// add `request` to `ssrContext._registeredComponents` to handle SSR dependencies
18
+ // notice that this could only handle those sfc that cannot use inline template
19
+ // see https://github.com/vuejs/vue-loader/blob/1b1a195612f885a8dec3f371edf1cb8b35d341e4/src/index.ts#L167-L183
16
20
return source . replace (
17
- 'script.ssrRender = ssrRender' ,
18
- `\
21
+ / i m p o r t { s s r R e n d e r } f r o m ( . * ) \n / ,
22
+ `import { ssrRender as _ssrRender } from $1
19
23
import { ssrContextKey } from 'vue'
20
- script. ssrRender = (...args) => {
24
+ const ssrRender = (...args) => {
21
25
const ssrContext = args[2].appContext.provides[ssrContextKey]
22
26
ssrContext._registeredComponents.add(${ JSON . stringify ( request ) } )
23
- return ssrRender (...args)
27
+ return _ssrRender (...args)
24
28
}
25
29
`
26
30
)
You can’t perform that action at this time.
0 commit comments