首页 > 解决方案 > 审查模板中符号的角度选项

问题描述

作为 Angular/TypeScript/VSCode 用户,我使用 tslint、Wallaby.js、markdownlint、sasslint 等出色的工具来提供强大的安全网,以帮助我尽量避免引入代码问题,无论它们是微妙的还是射击的——脚踏实地的类型。但是这个生态系统有一个明显的遗漏……或者有吗?我希望这只是我的无知,有人能够跳进来说,“当然你可以这样做,只需安装 x!”

我发现缺少的是审查 Angular 模板中使用的符号的能力。例如,我发现的编译器或任何 linter 都无法从这个 Angular 模板片段中检查...

<click-outside (clickOutside)="closeDropdown()">{{ scenario }}
  <dropdown [attr.visible]="active">
    <checkbox
      *ngFor="let project of projectsArray()"
      [checked]="project.checked"
      [attr.title]="project.name"
      (change)="projectChecked($event.detail, project)"
    </checkbox>
  </dropdown>
</click-outside>

...是否定义了任何属性(活动、场景)或功能(closeDropdown、projectsArray、projectChecked)。它们都应该是静态定义的,以便在编译时可以审查。

当然,很多时候,当您实际运行代码时,这种遗漏会立即显现出来。但这既不可靠也不可扩展。

而且您的测试套件捕获它的时间比例较小,但是众所周知,执行单元测试的“最后一英里”实际上是审查浏览器中呈现的内容,因此这又不是一个可靠的机制。

问题是:有什么东西可以做这样的符号审查吗?可以是这些形式中的任何一种,或其他形式:

  1. 角度配置选项
  2. 独立的命令行实用程序 (linux)
  3. IDE 插件 (VSCode)

标签: angularsymbolslint

解决方案


推荐阅读