فهرست منبع

fix(compiler-sfc): fix prefixIdentifier default value

Evan You 1 سال پیش
والد
کامیت
3d6f01571b
2فایلهای تغییر یافته به همراه18 افزوده شده و 1 حذف شده
  1. 16 0
      packages/compiler-sfc/__tests__/compileScript/importUsageCheck.spec.ts
  2. 2 1
      packages/compiler-sfc/src/parse.ts

+ 16 - 0
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(
+    `
+    <script setup lang="ts">
+      import { x } from './x'
+    </script>
+    <template>
+      {{ x }}
+    </template>
+    `,
+    undefined,
+    { templateParseOptions: {} },
+  )
+  expect(content).toMatch('return { get x() { return x } }')
+})

+ 2 - 1
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)