以下JS:

(function() {
  "use strict";

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

}());

收益率:

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

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


当前回答

如果您正在使用IntelliJ编辑器,在

首选项/设置 Javascript 代码质量工具 JSHint 预定义的(在底部),单击Set

你可以输入任何东西,例如console:false,它也会把它添加到列表(.jshintrc)中——作为一个全局变量。

其他回答

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

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

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

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

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

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

/*globals $:false */

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

下面是一个可以放在.jshintrc中的小列表 随着时间的推移,我将在这个列表中添加新的内容。

{
  // other settings...
  // ENVIRONMENTS
  // "browser": true, // Is in most configs by default
  "node": true,
  // others (e.g. yui, mootools, rhino, worker, etc.)
  "globals": {
    "$":false,
    "jquery":false,
    "angular":false
    // other explicit global names to exclude
  },
}

你可能想做以下事情,

const $ = window.$

避免它抛出linting错误。

如果您正在使用IntelliJ编辑器,在

首选项/设置 Javascript 代码质量工具 JSHint 预定义的(在底部),单击Set

你可以输入任何东西,例如console:false,它也会把它添加到列表(.jshintrc)中——作为一个全局变量。