如何在Visual Studio 2013 Web Essentials扩展中使用JsHint的“.jshintrc”文件?

16

我已经在Visual Studio 2013中安装了“Web Essentials”扩展程序。现在,在我的“错误列表”窗口下的“消息”部分中出现了JSHint警告。然而,它抱怨一些全局变量未被定义。

据我所知,你可以使用JSHint的.jshintrc文件列出全局变量,以便它不再抱怨它们。我想按照以下设置进行设置。(这样它就不会再抱怨“ko”......这是一个KnockoutJs全局变量。)

"globals": {
    "$": false,
    "jQuery": false,
    "ko": false
 }

如何在你的VS项目中创建.jshintrc文件并将其放置在什么位置?

我尝试将该文件添加到项目根目录下,确切命名为".jshintrc",但Visual Studio报错提示:

"File and folder names cannot contain a leading period."

我似乎找不到有关如何将此文件添加到您的Visual Studio项目中,以便Web Essentials扩展程序可以识别它的任何文档。

有什么想法吗?


更新

Hex回答正确。我必须打开命令提示符来重命名该文件,因为Windows Explorer也不允许我以句点开头的名称命名文件。之后,我还按照Hex的建议在花括号中将整个内容包围起来。这是我的.jshintrc文件的内容... 它坐落在我的WebApp的根目录中...和其他文件一起,例如web.config。

{
    "globals": {
        "$": false,
        "jQuery": false,
        "ko": false
      }
}

我再也不会收到关于"ko"对象的一千万条不必要的警告了。 :) 感谢Hex!


2
我一直在寻找这个问题的答案。我觉得JSHint使用需要在文件名前加一个句点的文件有点愚蠢。你甚至无法在Windows资源管理器中创建此文件。 - Chris Beckett
4
可能有些冒险,但我有 Visual Studio 2012,它拒绝识别 jshintrc 文件。我已经按照这里的建议编写了它,但它仍然抱怨全局变量。 - Frederik T
3个回答

11

项目根目录没问题。我认为JsHint正在一直到文件系统顶部搜索文件。

你可以使用命令行创建文件。 只需使用你喜欢的工具创建一个文件,然后从cmd重命名它,比如“ren jshintrc .jshintrc”

另外,我发现我需要重新启动VS才能加载jshintrc文件中的更改。

如果还不起作用,请尝试将整个文件放在{}中。我不确定是否必需,但我在其他地方看到了这样做。


1
谢谢。现在有有用的JsHint消息出现了,真好!你是对的,我确实需要在整个内容周围加上花括号。 - ClearCloud8

8

创建/编辑JSHint全局设置(以及TSLint、CoffeLint和JSCS设置)的最简单方法是点击Web Essentials菜单,然后选择适当的选项。

Web Essentials menu

这样,如果文件不存在,Web Essentials会为您创建文件。


哇,我从来没有注意到顶部的这个菜单。谢谢!顺便说一下,当我点击“编辑全局 JSHint 设置”菜单项时,它会打开一个文件,但是当我在“解决方案资源管理器”中点击“与活动文档同步”时...它并没有指示文件位置。我尝试编辑此文件,但它没有对我的项目进行检出或挂起更改(.jshintrc 的这个版本似乎是跨所有 VS 解决方案相同的文件)。因此,现在我继续使用我在 webapp 根目录创建的文件,因为它随项目一起旅行,并在 TFS 中跟踪。 - ClearCloud8
1
文件存储在C:\ Users \%username%中,我个人不喜欢,但是是的,你是正确的,“全局”Web Essentials设置,因此如果您想要排除特定类型的文件(例如jquery * .js),那么您希望在所有解决方案中都将其排除。因此,认为它们是“全局的”,而不是与任何单个解决方案/项目相关联。如果您需要一个仅适用于一个项目的设置,则可以按照您描述的方式添加文件。 - Yann Duran

0

我通过 Visual Studio 扩展添加了 jshint。在菜单选项下有一个名为JavaScript Linter Options...的菜单项。它会弹出一个对话框,允许您选择许多不同的选项。为了消除“$”未定义的错误,我勾选了“假定 jQuery”选项。 enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接