Bootstrap、JSHint 和 Recess
上周,我们在 Bootstrap 工具链中添加了两个新的开发人员工具,我想花点时间让您更多地了解它们是什么,我们为什么添加它们以及为什么重要。
JSHint
JSHint 是一个很棒的社区驱动的代码 linting 工具,用于检测 JS 中的错误和潜在问题,并强制执行编码规范。它非常灵活,可以轻松适应您期望代码执行的任何编码指南和环境。
从 2.0.3 版本开始,所有 JS(包括测试)都将在构建过程中通过 JSHint 运行。我们希望这既可以捕获潜在的不安全语法,也可以鼓励围绕 Bootstrap JavaScript 样式的约定。
首先,Bootstrap 的 JS 将使用以下选项(存储在 js 目录中的 .jshintrc 文件中)
{
"validthis" : true
, "laxcomma" : true
, "laxbreak" : true
, "browser" : true
, "boss" : true
, "expr" : true
, "asi" : true
}
我们希望这将使那些希望为 Bootstrap 做出贡献的人更容易,并减少围绕不同样式的拉取请求的痛苦。如果您还没有使用过 JSHint,您绝对应该花点时间 立即查看!
Recess
Recess 是 Twitter 开发的一个项目,用于帮助支持我们的内部样式指南。
Recess 的核心是一个 linter,但它还具有编译和/或重新格式化您的 css/less 文件的能力:规范空白、去除 0 值、重新排序属性以及它可以找到的任何其他安全的样式优化。
这意味着,它不仅会告诉您哪里有问题,您还可以告诉 Recess 直接为您整理代码。
首先,我们只以这种方式使用 Recess——作为我们 Less 的编译器(而不是直接使用 lessc 编译器)。这使我们能够严格控制 Bootstrap 的输出,并让 Mark 和我真正地沉迷其中,我们对此感到非常兴奋(我们喜欢完美的东西……我们就是这样的书呆子)。
未来
最终,我们希望尝试将这些工具(以及我们的单元测试)整合到某种持续集成服务中。在 Twitter,我们已经在许多其他项目(Hogan.js、Recess)中使用 travis-ci,因此我们可能很快就会效仿 Bootstrap。这将使我们更容易接受来自社区的拉取请求,因为我们将能够看到所有测试都通过了!:)
总之——现在就这些了。与往常一样,如果您有任何问题或反馈,请告诉我们!谢谢!
<3