以下JS:

(function() {
  "use strict";

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

}());

收益率:

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

当使用JSHint 0.5.5检测时。什么好主意吗?


当前回答

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

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

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

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

/*globals $:false */

还有一个简写“jquery”jshint选项,在jshint选项页面上可以看到。

其他回答

要修复使用在线JSHint实现时的此错误:

点击“CONFIGURE”(页面中栏顶部) 启用“jQuery”(在底部的“假设”部分下)

还可以在.jshintrc中添加两行

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

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

你所需要做的就是在.jshintrc中设置"jquery": true。

根据JSHint选项引用:

jquery 这个选项定义了由jQuery JavaScript库公开的全局变量。

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

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

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

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

/*globals $:false */

还有一个简写“jquery”jshint选项,在jshint选项页面上可以看到。

你可能想做以下事情,

const $ = window.$

避免它抛出linting错误。