16

我已将“Web Essentials”扩展安装到 Visual Studio 2013 中。我现在收到 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 资源管理器也不允许我命名以句点开头的文件。在那之后,我还按照 Hex 的建议将整个东西用花括号括起来。这是我的 .jshintrc 文件的内容......我把它放在我的 WebApp 的根文件夹中......与 web.config 等其他文件一起。

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

我不再收到关于“ko”对象的 1000 万条不必要的警告。:) 谢谢十六进制!

4

3 回答 3

11

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

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

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

如果仍然无法正常工作,请尝试将整个文件放入 {}。我不确定是否需要,但我在其他地方看到了。

于 2013-12-26T20:26:48.867 回答
8

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

Web Essentials 菜单

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

于 2014-03-11T14:10:28.117 回答
0

我通过 Visual Studio 扩展添加了 jshint。在菜单选项下有一个名为JavaScript Linter Options...的菜单项...它会弹出一个对话框,允许您选择许多不同的选项。要删除 '$' is not defined 错误,我检查了 Assume jQuery 选项。 在此处输入图像描述

于 2015-05-27T16:19:44.637 回答