16

我尝试在我的角度 HTML 模板中编写大部分有效的多语言 (X)HTML 5。它们看起来像这样:

<div class="some-class">
  <input type="checkbox" data-ng-model="variable" />
  <foo-directive data-ng-if="variable"></foo-directive>
</div>

有时我忘记正确关闭标签会破坏某些浏览器。所以我想在我的工具链中包含一个验证器。

问题是:我不知道可以处理这种情况的验证器。XML 验证器通常需要 DTD,HTML 验证器会抱怨代码中使用的 angular 指令。

也许验证器是错误的词,我真的想要一个linter。我想要它做的唯一真实的事情是检查每个开始标签是否有一个匹配的结束标签。其他一切都是奖金。

你知道这样的验证器吗?

注意:我主要搜索可以与我的自动化测试集成的命令行工具。但是网络服务也可能会有所帮助。

4

2 回答 2

12

由于htmlhint是一个选项,因此您可以按照此处所述从命令行使用它(当然,您必须先使用npm install它并确保您的PATHcontains node_modules/.bin):

htmlhint test.html

要测试特定选项:

htmlhint -r tag-pair,attr-no-duplication test.html

或者,如果选项在配置文件中:

htmlhint -c config-file test.html

我对 Angular 使用以下选项:

  • tag-pair:确保标签正确关闭
  • attr-no-duplication: 元素中没有重复的属性
于 2015-01-26T13:18:30.760 回答
-2

这个html-angular-validate项目是我使用的,我认为它非常适合这个。ng-*它使用 W3C HTML 验证服务,它基本上只是忽略有关已知角度内容的错误(例如以通常无效 HTML开头的属性)

我通过 gulp 运行它gulp-html-angular-validate

您必须对其进行配置以了解您的自定义元素和属性指令,如果您总是添加新的指令,这可能会变得有点痛苦......但是一旦您完成此操作,它就会运行良好并拯救了我的团队多次通过查找简单的拼写错误和常见错误!

于 2018-03-02T13:22:23.160 回答