【问题标题】:How to import environment exported by eslint plugin?如何导入 eslint 插件导出的环境?
【发布时间】:2017-06-21 03:50:51
【问题描述】:

我看到在https://github.com/Gillespie59/eslint-plugin-angular/blob/master/environments.js 小节mocks eslint-plugin-angular 声明了inject 全局变量。

如何从我的应用程序中导入这些环境设置?我尝试了"extends": "angular",但 eslint 仍然抱怨:

7:14  error  'inject' is not defined  no-undef

我尝试添加:

"env": {
    "angular/mocks": true
}

到配置,但后来我得到了

Environment key "angular/mocks" is unknown

【问题讨论】:

  • 我不知道你可以这样声明环境。我会尝试"envs": ["angular/mocks"]
  • @GOTO0 这不起作用。你的意思是让我在.eslintrc 中添加这一行吗?如果是这样,它会被默默地忽略。
  • 我明白了。那么也许你忘记在.eslintrc"plugins" 列表中添加"angular"?否则我能想到的唯一原因是一个过时的插件或 ESLint 版本。我也使用 eslint-plugin-angular,我从来没有遇到过这个问题。
  • @GOTO0 我正在使用github.com/Gillespie59/… 中概述的共享配置...这不需要我将"angular" 添加到"plugins" 的列表中。我尝试添加它,但 eslint 仍然抱怨 inject 未定义。

标签: angularjs eslint


【解决方案1】:

您收到此错误是因为 ESLint 只能使用插件公开的环境,而不能使用配置。您必须在配置文件中将 eslint-plugin-angular 注册为插件:

"plugins": ["angular"],
"env": {
  "angular/mocks": true
}

如果还是不行,你应该运行带有--debug 标志的 ESLint,看看你的配置是否正确加载并应用了环境。您还可以使用 --print-config 标志运行 ESLint,后跟存储库中某个文件的路径,以查看 ESLint 在 linting 该文件时将使用的所有规则和全局变量。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-08
    • 2017-06-12
    • 2019-12-06
    • 2020-05-13
    • 2013-01-19
    • 2017-05-07
    • 2017-12-17
    • 2013-06-21
    相关资源
    最近更新 更多