我发现在每个目录的基础上指定JSHint选项的能力是added here。
然而,我不清楚你是如何实际利用这一点的。如何在单个目录中设置JSH选项,以便选项与其他目录不同?
答案 0 :(得分:5)
看来问题的变化实际上允许您在每个文件的基础上指定覆盖选项。您可以在配置中添加overrides
属性,其值应为对象。此对象的键被视为正则表达式,对其测试文件名。如果要分析的文件的名称与overrides
正则表达式匹配,则为该覆盖指定的选项将应用于该文件:
您在链接到的提交中的cli.js
测试文件差异中有一个示例:
{
"asi": true,
"overrides": {
"bar.js$": {
"asi": false
}
}
}
在该示例中,有一个覆盖将应用于与bar.js$
正则表达式匹配的任何文件(看起来有点疏忽,因为.
将匹配任何字符,并且可能仅用于匹配文字.
字符。
说了这么多,看起来overrides
属性不会对你有所帮助。我认为您真正想要的是相关目录中的新.jshintrc
文件。 JSHint从正在分析的文件的目录中查找该文件,然后向上移动目录树,直到找到它为止。无论它首先找到的是使用它的那个。 From the docs:
如果是
.jshintrc
,JSHint将开始在与被删除文件相同的目录中查找此文件。如果未找到,它将在目录树中向上移动一级到文件系统根目录。
一个常见的用例是为应用程序代码和测试代码提供单独的JSHint配置。这允许您分别定义不同的环境和全局变量。