JSHint 和 jQuery:'$' 未定义

2022-08-30 01:02:25

以下 JS:

(function() {
  "use strict";

  $("#target").click(function(){
    console.log("clicked");
  });

}());

收益 率:

test.js: line 5, col 3, '$' is not defined.

当使用 JSHint 0.5.5 进行 lind 时。有什么想法吗?


答案 1

如果您使用的是相对较新的 JSHint 版本,通常首选的方法是在项目的根目录中创建一个 .jshintrc 文件,并将此配置放入其中:

{
    "globals": {
        "$": false
    }
}

这向 JSHint 声明 $ 是全局变量,而 false 表示不应覆盖它。

.jshintrc 文件在真正旧版本的 JSHint 中不受支持(例如 v0.5.5,就像 2012 年的原始问题一样)。如果您不能或不想使用 .jshintrc 文件,可以在脚本文件的顶部添加以下内容:

/*globals $:false */

还有一个速记“jquery”jshint选项,如JSHint选项页面上所示。


答案 2

您还可以向 .jshintrc 添加两行

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

这告诉 jshint 有两个全局变量。