更漂亮:语法错误:只有 void 和外部元素可以自关闭

Posted

技术标签:

【中文标题】更漂亮:语法错误:只有 void 和外部元素可以自关闭【英文标题】:prettier: SyntaxError: Only void and foreign elements can be self closed 【发布时间】:2020-12-11 11:01:12 【问题描述】:

当我运行 prettier 时出现此错误。

..\index.component.html
[error] ..\index.component.html: SyntaxError: Only void and foreign elements can be self closed "home-hero" (3:5)
[error]   1 |
[error]   2 |   <layout>
[error] > 3 |     <home-hero slot="hero" />
[error]     |     ^
[error]   4 |
[error]   5 |     <h3 slot="callout" />
[error]   6 |

但我想使用自我关闭标签。如何设置 prettier 忽略这个错误?

在prettier schema 中,我没有看到任何关于“self”或类似内容的引用。

【问题讨论】:

这是一个 angular/react/nativescript 应用程序吗? 【参考方案1】:

这实际上是下面线程中提到的HTML 标准的功能-

Are (non-void) self-closing tags valid in HTML5?

所有现代库like angular 都使用HTML5 标准作为模板,在这种情况下,用户定义的模板将被视为non-void,因此您必须使用适当的结束标签关闭标签。

这里是与voidnon-void相关的HTML标签描述的完整列表

https://developer.mozilla.org/en-US/docs/Web/HTML/Element

您还可以查看与技术相关的spec home-hero 是否允许自闭标签!

【讨论】:

以上是关于更漂亮:语法错误:只有 void 和外部元素可以自关闭的主要内容,如果未能解决你的问题,请参考以下文章

spray-json

解析错误:由“<!DOCTYPE html>”引起的意外令牌更漂亮/更漂亮

如何禁用 eslint 上的错误(更漂亮/更漂亮)?

错误删除“CR”更漂亮/更漂亮的 Visual Studio 代码

如何在 vscode 中禁用更漂亮的错误突出显示

Tslint/eslint vs 更漂亮