fix(compiler-sfc): should keep template nodes with no content (#2468)

close #2463
This commit is contained in:
meteorlxy 2020-12-05 07:23:01 +08:00 committed by GitHub
parent db786b1afe
commit 5b9b37fc9b
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 3 deletions

View File

@ -111,8 +111,13 @@ h1 { color: red }
) )
}) })
test('should ignore nodes with no content', () => { test('should keep template nodes with no content', () => {
expect(parse(`<template/>`).descriptor.template).toBe(null) const { descriptor } = parse(`<template/>`)
expect(descriptor.template).toBeTruthy()
expect(descriptor.template!.content).toBeFalsy()
})
test('should ignore other nodes with no content', () => {
expect(parse(`<script/>`).descriptor.script).toBe(null) expect(parse(`<script/>`).descriptor.script).toBe(null)
expect(parse(`<style/>`).descriptor.styles.length).toBe(0) expect(parse(`<style/>`).descriptor.styles.length).toBe(0)
expect(parse(`<custom/>`).descriptor.customBlocks.length).toBe(0) expect(parse(`<custom/>`).descriptor.customBlocks.length).toBe(0)

View File

@ -138,7 +138,7 @@ export function parse(
if (node.type !== NodeTypes.ELEMENT) { if (node.type !== NodeTypes.ELEMENT) {
return return
} }
if (!node.children.length && !hasSrc(node)) { if (!node.children.length && !hasSrc(node) && node.tag !== 'template') {
return return
} }
switch (node.tag) { switch (node.tag) {