Skip to content
chris edited this page Nov 9, 2014 · 27 revisions

常见问题

如何安装 FECS?

FECS 运行于 Node.js 环境,因此需要保证已经安装 Node.JS 之后再执行以下命令:

$ [sudo] npm install fecs -g

如果安装失败报权限相关的问题,请使用 sudo

格式化代码后空行丢失怎么办?

由于修复后的代码生成使用 escodegen,它将忽略源码中的空行,因此格式化后的代码将会缺少原有的空行(相关讨论),目前暂无解决方案,后续将由 jformatter 提供规则,根据相应规则为某些 statement 前或后增加空行的方式,以保证代码的可读性,目前社区有相应的实现:esformatter

如何忽略某个错误?

ESLint 大部分给出的是关于代码风格或有安全隐患方面的问题,一般没有特殊情况的话,还是全部都修复掉。但是只要理由充分,可以自行配置忽略某部分代码的问题。

项目级别

可以在项目根目录创建 .eslintrc 文件,配置项将会覆盖 FECS 的默认值。FECS 默认针对的是 Web 项目,对于 node 项目,需要更改的配置如下:

{
    "env": {
        "node": true,
        "browser": false
    },

    "rule": {
        "no-console": 0
    }
}

文件级别

如果只是某些文件需要 特殊照顾,可以在文件头使用 /* eslint-disable ruleName */ 来配置。

/* eslint-env node */
/* eslint-disable no-console */

文件中代码

部分代码的解决方式与文件类似,但是在代码结束的地方需要再恢复规则。

/* eslint-disable fecs-max-statements */

//
// 这里是不可分割的算法代码,但是超出默认的 50 statement
//

/* eslint-enable fecs-max-statements */

如何输出 JSON 格式的检查结果?

比如需要编程方式使用 FECS 的检查结果,需要有更好的格式支持,此时可以使用 format 参数来指定格式,同时配合使用 silent

$ fecs --silent --format=json

目前支持的格式有 JSONXMLHTML

忽略某些文件?

目前的方法是使用 ignore 参数:

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

使用的是 glob 的 pattern,如果有多个 pattern,可以写多个 ignore

$ fecs --ignore='**/cli/**' --ignore='**/foo.js'

后续将会考虑支持类似 Git 方式的 .gitignore 文件来配置忽略规则。

Clone this wiki locally