Javascript 可以使用外部配置文件以与JSHint'相同的方式配置JSLint吗;s.jshintrc?

Javascript 可以使用外部配置文件以与JSHint'相同的方式配置JSLint吗;s.jshintrc?,javascript,jslint,Javascript,Jslint,我一直在各种IDE中开发许多小型web开发项目,发现自己费劲地键入jslint配置头以使jslint静音。它的警告和错误都是有效的,我想在我的工作周期中保持JSLint,但我每天启动2-3个隔离环境,有时是从Yeoman的发电机启动,有时是手动启动。所有这些都会导致JSLint的抱怨,要求每个.js文件中都包含以下内容: /*jslint browser:true*/ /*global require,yada,yada,yada*/ JSHint有一个很好的特性,您可以使用.jshintrc

我一直在各种IDE中开发许多小型web开发项目,发现自己费劲地键入jslint配置头以使jslint静音。它的警告和错误都是有效的,我想在我的工作周期中保持JSLint,但我每天启动2-3个隔离环境,有时是从Yeoman的发电机启动,有时是手动启动。所有这些都会导致JSLint的抱怨,要求每个.js文件中都包含以下内容:

/*jslint browser:true*/
/*global require,yada,yada,yada*/
JSHint有一个很好的特性,您可以使用.jshintrc文件体在父文件夹中声明所有这些内容。JSLint有这样的东西吗?这似乎是一个显而易见的添加,但我找不到任何类似的东西可以跨IDE工作(VisualStudio、IntelliJ、方括号、升华文本等等)

我在.NET中发现了这一点,但我发现VisualStudio对于我可能只花几个小时就扔掉的项目来说是很沉重的()

有人对此有什么见解吗


编辑:(见下面我的新答案。)

我认为最快的答案是,为JSLint中的每个文件设置全局设置是IDE或最喜欢的文本编辑器的工作。也就是说,JSLint本质上只是一个大的javascript文件。它不关心文件路径等,也不会查找服务器范围的配置

我的意思是,但这本质上就是你现在面临的问题

那么问题是,如果你不喜欢VisualStudio,你会使用什么工具?在VS中,我非常喜欢它。我认为这和你找到的那个不同(比如在《不分叉或相关》,但我可能错了)。在崇高的文本中,有两种。我一直在用,但我觉得这两种方法都不太受欢迎。等等

所以这不是一个javascript/JSLint问题,而是一个JSLint包装问题

应该说,JSLint的代码非常干净,使用Node或类似的东西很容易构建自己的流程。我已经用完成了,不过如果我再做一次,我会使用Node

我也建议您考虑保存文件JSLILT头文件。我倾向于这样做,它将您使用的“借口”保持在最低限度,使您的代码更加紧凑。例如,如果您有很多共享的配置信息,那么很容易获得一个巨大的

/*全局…*/
标题行。这还意味着,当其他人使用与您不同的“shell”工具来JSLint您的文件时,您知道他们使用的是非常接近您预期的可接受行为

因此,您的问题的字面答案是,“不,JSLint本身并不支持框范围的配置文件。”较长的答案是,“告诉我们您喜欢在哪里工作。”;^)

编辑:讨论了不要参与通常的“提示vs.林特”讨论,但我会很快说我喜欢你的想法。JSLint更严厉,但JSLinted代码意味着比JSHinted代码更具体的东西。我不会争辩说更具体本身意味着更好,但我会说,我认为JSLint的严厉是一种优势。这可能不是做某事的唯一方法,但Crockford没有告诉你这是个坏主意,熟悉这些惯例也很好。用我这个时代的话说

编辑2:所以括号看起来距离我上次使用它已经有很长的路要走了。默认情况下似乎有JSLint

看起来您可以使用首选项文件中的
JSLint.options
设置来设置全局JSLint选项,如下所示

{
    "debug.showErrorsInStatusBar": false,
    "styleActiveLine": true,
    "jslint.options": { "sloppy":true, "white":true, "browser": true }
}
它允许文件顶部的设置覆盖这些设置


这真的是一个文本编辑器的黄金时代。我仍然经常使用VIm,但主要是实时VS和崇高文本,甚至还有用于特定任务的jEdit、Coda和PhpStorm。看起来这可能是我为Node&HTMLFrontEnd开发的新升华。CSS的快速编辑非常棒,尽管绑定会使它复杂化。谢谢

虽然前面的例外答案是一个很好的答案(非常感谢它的作者让它随着时间变得更好!),但世界已经从JSLint开始了。我建议任何人阅读这个非常古老的问题,你认真考虑把JSLLT从你的开发周期中剔除出来,以支持其非常有效的继任者ESLint。为了获得更好的体验,我建议仔细看看ES7与TypeScript的路径,TSLint是TypeScript linting的最佳选择

然而要想获得甚至超过这些现代图书馆的开发经验,请直接使用。使用Prettier,您的linting问题变得无关紧要,因为Prettier每次运行时都会以一种自以为是的方式重写代码

为了使用Prettier获得最佳效果,请将包“lint staged”和“husky”添加到开发人员依赖项中,然后在package.json中添加以下内容:

“哈士奇”:{
“挂钩”:{
“预提交”:“lint暂存”
}
},
“林特舞台”:{
“*.{json,json,css,md}”:[
“更漂亮——写”,
“git添加”
]
},
这将迫使Prettier的自动linting行为在每次Git的commit命令运行时运行

我不能告诉你使用Prettier对我负责的前端开发团队和项目有多大的帮助。我们已经从代码审查流血和林廷修正意见几乎立即为零。团队的反馈普遍是积极的

我所做的唯一修改是tabs-vs.-spaces设置。我修改了我的.prettierrc.json文件以选择制表符而不是空格,因为使用不同宽度的空格会导致git合并历史记录变脏。您无法控制分布在多个半球的250多名开发人员的缩进,其中一些人甚至在您知道他们的名字之前就在项目中进进出出。因此,将选项卡设置为默认缩进允许所有开发人员使用