首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ESLint美元($)未定义。(非联合国开发计划署)

ESLint美元($)未定义。(非联合国开发计划署)
EN

Stack Overflow用户
提问于 2016-09-15 12:11:59
回答 5查看 85.8K关注 0票数 135
代码语言:javascript
运行
复制
$("#ID").hide();

我将ESLint添加到我的项目中。

一切都很好,除了符号$

我收到错误:[eslint] '$' is not defined. (no-undef)

我的.eslintrc.json (注意:当有一个等价的javascript函数时,附加规则设置为不允许jquery函数):

代码语言:javascript
运行
复制
{
"env": {
    "browser": true,
    "commonjs": true,
    "es6": true
},
"extends": [
    "eslint:recommended"
],
"parserOptions": {
    "sourceType": "module"
},
"plugins": [
    "dollar-sign",
    "jquery"
],
"rules": {       
    "indent": [
        "error" ,
        "tab"
    ],
    "linebreak-style": [
        "error",
        "windows"
    ],
    "quotes": [
        "error",
        "double"
    ],
    "semi": [
        "error",
        "always"
    ],
    "jquery/no-ajax": 2,
    "jquery/no-animate": 2,
    "jquery/no-attr": 2,
    "jquery/no-bind": 2,
    "jquery/no-class": 2,
    "jquery/no-clone": 2,
    "jquery/no-closest": 2,
    "jquery/no-css": 2,
    "jquery/no-data": 2,
    "jquery/no-deferred": 2,
    "jquery/no-delegate": 2,
    "jquery/no-each": 2,
    "jquery/no-fade": 2,
    "jquery/no-filter": 2,
    "jquery/no-find": 2,
    "jquery/no-global-eval": 2,
    "jquery/no-has": 2,
    "jquery/no-hide": 2,
    "jquery/no-html": 2,
    "jquery/no-in-array": 2,
    "jquery/no-is": 2,
    "jquery/no-map": 2,
    "jquery/no-merge": 2,
    "jquery/no-param": 2,
    "jquery/no-parent": 2,
    "jquery/no-parents": 2,
    "jquery/no-parse-html": 2,
    "jquery/no-prop": 2,
    "jquery/no-proxy": 2,
    "jquery/no-serialize": 2,
    "jquery/no-show": 2,
    "jquery/no-sizzle": 2,
    "jquery/no-slide": 2,
    "jquery/no-text": 2,
    "jquery/no-toggle": 2,
    "jquery/no-trigger": 2,
    "jquery/no-trim": 2,
    "jquery/no-val": 2,
    "jquery/no-wrap": 2,
    "dollar-sign/dollar-sign": [
        2,
        "ignoreProperties"
    ]
}

您可以看到,我添加了两个插件:埃林特-插件-美元-标志和eslint。

为什么这个规则不起作用?

"dollar-sign/dollar-sign": [ 2, "ignoreProperties" ]

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2016-09-15 12:54:58

你失踪了

代码语言:javascript
运行
复制
"env": {
  "browser": true,
  "commonjs": true,
  "es6": true,
  "jquery": true
},

如果没有启用$环境,则不会将jquery声明为全局的。因此,您将得到一个no-undef错误,说明您使用的变量尚未声明。

票数 262
EN

Stack Overflow用户

发布于 2017-08-19 18:48:19

https://eslint.org/docs/user-guide/configuring#specifying-environments

可以使用JavaScript文件中的注释指定环境,使用以下格式:

将下面的行添加为JavaScript文件开头的注释。

代码语言:javascript
运行
复制
    /* eslint-env jquery */

eslinter将停止在“$”上抛出未定义的内容,因为它将知道您正在使用jQuery。

票数 46
EN

Stack Overflow用户

发布于 2018-09-30 04:54:37

您还可以将这一行添加到js文件的顶部:

代码语言:javascript
运行
复制
/* global $ */

若要防止对"$“或对”varName“等任何其他全局的警告,请执行以下操作:

代码语言:javascript
运行
复制
/* global varName */
票数 31
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39510736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档