JSHint选项参考列出了一些不赞成的选项,并附有以下通知。
警告此选项已弃用,将在JSHint的下一个主要版本。JSHint将其范围限制在问题上代码的正确性。如果您想执行有关的规则代码风格,查看JSCS项目。
具体来说,不推荐的选项是:
- camelcase
- im
- 缩进
- maxlen
- newcap
- noempty
- quotmark
- laxbreak
- laxcomma
- multistr
- 子
不幸的是,参考并没有指出如何替换这些已弃用的选项,而只是指向JSCS GitHub的repo。
哪些JSCS规则对应于弃用的JSHint选项?切换到JSCS时是否需要考虑任何配置差异?
确定这一点的一种方法是在JSCS Github Repo中搜索"JSHint"或特定规则(示例搜索),因为JSCS文档中的相关规则都有指向其JSHint等效规则的链接。
这是你写这篇文章时的简短列表:
- camelcase =
requireCamelCaseOrUpperCaseIdentifiers
- immed =
requireParenthesesAroundIIFE
- 缩进=
validateIndentation
- maxlen =
maximumLineLength
- newcap =
requireCapitalizedConstructors
- noempty =
disallowEmptyBlocks
- quotmark =
validateQuoteMarks
- =
requireOperatorBeforeLineBreak
- laxcomma =
requireCommaBeforeLineBreak
或disallowCommaBeforeLineBreak
(需要根据您的偏好进行调整) - multistr =
disallowMultipleLineStrings
- sub =
requireDotNotation
虽然这些规则中的许多非常相似,并且不需要太多的工作来切换,但有些规则有稍微不同的选项,要求或含义,因此需要一些配置差异,并且在某些情况下,您可能需要在两个规则(require
vs. disallow
)之间进行选择。