Skip to content
Hanxing Yang edited this page May 8, 2016 · 6 revisions

HTMLCS

FECSHTML 的检查是基于 EFE 团队杨寒星 专门针对我们的 HTML 编码规范 打造的 htmlcs

使用方式

最常用的方式就是直接调用fecs,此时会递归的扫描当前目录下面的所有的 JavaScript、CSS 和 HTML 文件(默认已经忽略 node_modules, bower_components 目录),然后依次调用 htmlcshtmlhint 检查得到的 HTML 文件。

如果想要忽略某些文件或目录,可以使用 ignore 参数执行,例如:

$ fecs --ignore='**/cli/**'

同时也可以使用 .fecsignore 文件来配置类似 Git 方式的 .gitignore 忽略规则。

另外,需要同时检查多个目录时,可以这样:

$ fecs dir1 dir2

可以指定只检查 HTML 文件:

$ fecs dir1 --type=html

如果觉得默认显示的英文提示不易懂,或者需要看我们对应的规范定义,可以指定 reporter 参数为 baidu

$ fecs --reporter=baidu

默认规则

  1. https://github.com/ecomfe/htmlcs/blob/master/lib/default/htmlcsrc
  2. https://github.com/ecomfe/fecs/blob/master/lib/html/htmlcs.yml

由于部分规则无法实现,加上时间关系,目前对规范的覆盖率只有 55%。

如果想查看检查结果对应的规则名称,可以在执行时使用 rule 参数:

$ fecs --rule

如何针对检查结果作修复

htmlcs 大部分给出的是关于代码风格方面的问题,一般没有特殊情况的话,需要全部都修复掉。对于确实无法修复或有足够理由不作修复的,可以使用 .htmlcsrc .fecsrc 来覆盖默认的配置(暂不支持文件内注释方式的规则)。

{
    "htmlcs": {
        "html-lang": false
    }
}

如果确定代码在当前场景下合理,可以针对当前文件使用以下语法禁止或启用指定的规则 (需要 htmlcs@0.0.9 以上版本支持):

<!-- htmlcs-disable rule1[,rule2,...] -->
<!-- htmlcs-enable rule1[,rule2,...] -->

后续将实现 format 命令来修复大部分代码风格上的问题。