diff --git a/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts b/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
index b842f7a46..fe52b12d4 100644
--- a/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
+++ b/packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
@@ -234,3 +234,19 @@ test('namespace / dot component usage', () => {
expect(content).toMatch('return { get Foo() { return Foo } }')
assertCode(content)
})
+
+test('check when has explicit parse options', () => {
+ const { content } = compile(
+ `
+
+
+ {{ x }}
+
+ `,
+ undefined,
+ { templateParseOptions: {} },
+ )
+ expect(content).toMatch('return { get x() { return x } }')
+})
diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts
index 08d862446..01a4bec6e 100644
--- a/packages/compiler-sfc/src/parse.ts
+++ b/packages/compiler-sfc/src/parse.ts
@@ -133,7 +133,7 @@ export function parse(
pad = false,
ignoreEmpty = true,
compiler = CompilerDOM,
- templateParseOptions = { prefixIdentifiers: true },
+ templateParseOptions = {},
} = options
const descriptor: SFCDescriptor = {
@@ -152,6 +152,7 @@ export function parse(
const errors: (CompilerError | SyntaxError)[] = []
const ast = compiler.parse(source, {
parseMode: 'sfc',
+ prefixIdentifiers: true,
...templateParseOptions,
onError: e => {
errors.push(e)