diff --git a/packages/compiler-sfc/__tests__/parse.spec.ts b/packages/compiler-sfc/__tests__/parse.spec.ts index dc25c848c41..aa4b5b48be5 100644 --- a/packages/compiler-sfc/__tests__/parse.spec.ts +++ b/packages/compiler-sfc/__tests__/parse.spec.ts @@ -139,6 +139,15 @@ h1 { color: red } expect(descriptor.template!.content).toBe(content) }) + test('treat empty lang attribute as the html', () => { + const content = `
` + const { descriptor, errors } = parse( + `` + ) + expect(descriptor.template!.content).toBe(content) + expect(errors.length).toBe(0) + }) + // #1120 test('alternative template lang should be treated as plain text', () => { const content = `p(v-if="1 < 2") test` diff --git a/packages/compiler-sfc/src/parse.ts b/packages/compiler-sfc/src/parse.ts index ac3456e645b..303babe18f0 100644 --- a/packages/compiler-sfc/src/parse.ts +++ b/packages/compiler-sfc/src/parse.ts @@ -121,6 +121,7 @@ export function parse( p.type === NodeTypes.ATTRIBUTE && p.name === 'lang' && p.value && + p.value.content && p.value.content !== 'html' )) ) {