FECS 基于 Node.js 的前端代码检查工具
FECS 是基于 Node.js 的前端代码风格工具套件,包含对 JavaScript、CSS 与 HTML 的检查及格式化。
特点
灵活:安装简单,深度可配置性
高效:基于 Stream,文件流转从未如此迅速
齐全:四大语言支持,前端代码质量有保障
基于四个工具
htmlcs:检查、格式化,HTML 代码
csshint:检查 CSS 代码
lesslint:检查 Less 代码
jformatter:修复 JS 代码
安装
$ [sudo] npm install fecs -g
使用
fecs fecs -v fecs check --help fecs format --help
快速开始
FECS 是基于 Node.js 的前端代码风格工具套件,包含对 JavaScript、CSS 与 HTML 的检查、修复及格式化。
安装
$ [sudo] npm install fecs -g
代码检查
$ fecs
$ fecs path
$ fecs path/to/file
$ fecs check --help
代码修复
$ fecs format src --output=fixed
$ fecs format src --replace
$ fecs format --help
FECS 命令参数
options
名称 | 别名 | 值类型 | 默认值 | 说明 |
---|---|---|---|---|
help | h | boolean | false | 显示帮助信息 |
version | v | boolean | false | 显示 FECS 的版本信息 |
check
$ fecs [check] [pattern...] [options]
pattern
指定 glob
风格的文件查找模式,默认为当前工作目录下的所有 js/css/html
,也可以直接指定到具体的文件路径。
options
名称 | 别名 | 值类型 | 默认值 | 说明 |
---|---|---|---|---|
color | c | boolean | true | 是否使用颜色高亮 |
debug | -- | boolean | false | 是否允许直接抛出 FECS 的运行时错误 |
format | -- | string | -- | 指定 check 命令的结果输出格式,支持 JSON,XML 与 HTML,打开 silient 时也不影响输出 |
ignore | -- | string | -- | 指定需要忽略的文件模式,多个模式可以使用多个 --ignore 指定 |
lookup | -- | boolean | false | 是否考虑所有上级目录的配置 |
maxerr | -- | number | 0 | 每个文件的最大错误数,默认为 0 表示不限制 |
maxsize | -- | number | 0 | 每个文件的最大字节数,默认为 900K, 0 表示不限制 |
reporter | -- | string | -- | 指定 reporter ,内置可选值只有 baidu ,当包含 / 字符时从当前工作目录查找自定义的 reporter 实现,其它值按默认处理 |
rule | -- | boolean | false | 是否在错误信息最后显示对应的校验规则名称 |
silent | s | boolean | false | 是否隐藏所有通过 console.log 输出的信息 |
sort | -- | boolean | false | 是否对信息按行列作升序排序 |
stream | -- | boolean | false | 是否使用 process.stdin 作为输入 |
type | -- | string | js,css,html | 指定要处理的文件类型,类型之间以 , 分隔 |
format
$ fecs format [pattern...] [options]
- 使用 fixmyjs 与 jformatter 修复与格式化
JavaScript
代码。 - 使用 CSSBeautify 与 CSScomb 修复与格式化
CSS
代码。 - 使用 HTMLCS 修复与格式化
HTML
代码。
options
名称 | 别名 | 值类型 | 默认值 | 说明 |
---|---|---|---|---|
debug | -- | boolean | false | 是否允许直接抛出 FECS 的运行时错误 |
format | -- | string | -- | 指定 check 命令的结果输出格式,支持 JSON,XML 与 HTML,打开 silient 时也不影响输出 |
ignore | -- | string | -- | 指定需要忽略的文件模式,多个模式可以使用多个 --ignore 指定 |
lookup | -- | boolean | false | 是否考虑所有上级目录的配置 |
output | o | string | ./output | 指定格式化后的输出目录 |
replace | -- | boolean | false | 指定格式化后是否替换原文件 |
safe | s | string | medium | low -> medium -> high 三个级别对 JavaScript 作格式化,越往右对源码的改变越少 |
silent | s | boolean | false | 是否隐藏所有通过 console.log 输出的信息 |
stream | -- | boolean | false | 是否使用 process.stdin 作为输入 |
type | -- | string | js,css,html | 指定要处理的文件类型,类型之间以 , 分隔 |
API
fecs.leadName
设置或获取控制台输出信息前的名称,默认值为 fecs
。
var fecs = require('fecs');
fecs.leadName = 'edp';
...
fecs.getOptions(Array argv)
获取经 minimist
解释后的命令行参数对象,可用于 fecs.check
和 fecs.format
方法。
var options = fecs.getOptions(process.argv.slice(2));
console.log(options.command); // 'check'
...
fecs.check(Object options[, Function done])
检查文件或输入流的代码规范。
// 设置检查的文件路径
options._ = ['/path/to/check'];
// 或者设置为 stream
// options.stream = yourReadableStream;
// 设置文件类型
// options.type = 'js,css';
/**
* callback after check finish
*
* @param {boolean} success true as all files ok, or false.
* @param {Object[]} errors data for check result.
*/
function done(success, errors) {
// blablabla
}
fecs.check(options, done);
fecs.format(Object options)
格式化、修复文件或输入流的代码。
fecs.format(options);
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论