fix(ssr): fix ssr runtime helper import in module mode

This commit is contained in:
Evan You
2021-09-23 10:08:28 -04:00
parent 74a84ff546
commit 8e05b7f9fc
4 changed files with 23 additions and 9 deletions

View File

@@ -95,6 +95,7 @@ function createCodegenContext(
optimizeImports = false,
runtimeGlobalName = `Vue`,
runtimeModuleName = `vue`,
ssrRuntimeModuleName = 'vue/server-renderer',
ssr = false,
isTS = false,
inSSR = false
@@ -109,6 +110,7 @@ function createCodegenContext(
optimizeImports,
runtimeGlobalName,
runtimeModuleName,
ssrRuntimeModuleName,
ssr,
isTS,
inSSR,
@@ -319,7 +321,8 @@ function genFunctionPreamble(ast: RootNode, context: CodegenContext) {
push,
newline,
runtimeModuleName,
runtimeGlobalName
runtimeGlobalName,
ssrRuntimeModuleName
} = context
const VueBinding =
!__BROWSER__ && ssr
@@ -363,7 +366,7 @@ function genFunctionPreamble(ast: RootNode, context: CodegenContext) {
push(
`const { ${ast.ssrHelpers
.map(aliasHelper)
.join(', ')} } = require("vue/server-renderer")\n`
.join(', ')} } = require("${ssrRuntimeModuleName}")\n`
)
}
genHoists(ast.hoists, context)
@@ -377,7 +380,13 @@ function genModulePreamble(
genScopeId: boolean,
inline?: boolean
) {
const { push, newline, optimizeImports, runtimeModuleName } = context
const {
push,
newline,
optimizeImports,
runtimeModuleName,
ssrRuntimeModuleName
} = context
if (genScopeId && ast.hoists.length) {
ast.helpers.push(PUSH_SCOPE_ID, POP_SCOPE_ID)
@@ -414,7 +423,7 @@ function genModulePreamble(
push(
`import { ${ast.ssrHelpers
.map(s => `${helperNameMap[s]} as _${helperNameMap[s]}`)
.join(', ')} } from "@vue/server-renderer"\n`
.join(', ')} } from "${ssrRuntimeModuleName}"\n`
)
}

View File

@@ -275,6 +275,11 @@ export interface CodegenOptions extends SharedTransformCodegenOptions {
* @default 'vue'
*/
runtimeModuleName?: string
/**
* Customize where to import ssr runtime helpers from/**
* @default 'vue/server-renderer'
*/
ssrRuntimeModuleName?: string
/**
* Customize the global variable name of `Vue` to get helpers from
* in function mode