当前位置: 首页 > 知识库问答 >
问题:

ESLint-未定义"窗口"。如何在package.json中允许全局变量

齐英韶
2023-03-14

我正在为全局窗口对象指定一个属性,但当我运行eslint时,我得到以下结果:

“窗口”未定义

我在eslint文档中看到了这一点:

下面将窗口定义为不应该触发正在测试的规则的代码的全局变量:

valid: [
  {
    code: "window.alert()",
    globals: [ "window" ]
  }
]

我曾尝试将类似的内容添加到package.json文件中,以使eslint allow“window”作为全局变量,但我一定是做错了什么。从文档来看,我可能需要在一个单独的文件中执行类似的操作,但是有没有办法在package.json文件中定义一些允许的全局变量

共有3个答案

宰父俊彦
2023-03-14

在项目根目录中添加.eslintrc

{
  "globals": {
    "document": true,
    "foo": true,
    "window": true
  }
}
段干宜
2023-03-14

我在这页上找到了它:http://eslint.org/docs/user-guide/configuring

在package.json中,这起作用:

"eslintConfig": {
  "globals": {
    "window": true
  }
}
黄靖
2023-03-14

有一个内置的环境:浏览器,其中包括窗口

示例.eslintrc.json

"env": {
    "browser": true,
    "node": true,
    "jasmine": true
  },

更多信息:http://eslint.org/docs/user-guide/configuring.html#specifying-环境

另请参阅下面chevin99的package.json答案。

 类似资料:
  • 问题内容: 在Coffeescript.org上: 将编译为: 通过在node.js下的coffee-script进行编译可以做到: 文件说: 如果要创建供其他脚本使用的顶级变量,请将它们作为属性附加到窗口或CommonJS中的exports对象上。如果您同时针对CommonJS和浏览器,那么存在运算符(见下文)为您提供了一种可靠的方法来确定将它们添加到何处:root = exports?这个 然

  • 我用global.d.ts定义全局变量: 但是在执行main.ts的时候 报错:

  • 问题内容: 今天,当我看到全局变量在某些情况下具有价值时,我感到非常惊讶。 例: 给出为 在这里,为什么JavaScript引擎将全局值视为。我知道JavaScript是一种解释语言。如何考虑函数中的变量? 这是JavaScript引擎的陷阱吗? 问题答案: 这种现象称为:JavaScript变量提升 。您绝对不会在函数中访问全局变量。您只访问局部变量。 您的代码等效于以下内容: 还感到惊讶吗?

  • 我的文件中有这段代码,在这里我可以简单地使用。 现在,我需要使用socket从各种文件发出事件,而不想连接此

  • 问题内容: 是否可以在JavaScript函数中定义全局变量? 我想在其他函数中使用变量(在函数中声明)。 问题答案: 是的,正如其他人所说的,您可以在全局范围内(在所有函数之外)使用声明全局变量: 或者,您可以在上分配一个属性: …因为在浏览器中,用声明的 所有全局变量 都是对象的属性。(在最新规范ECMAScript 2015中,全局范围内的new ,和语句创建的不是全局对象属性的全局变量;这

  • 我使用webpack构建React组件。下面是JSX文件: 然后,我想在html中调用函数我有WebPack的配置文件: 但是我不能用HTML呈现我的组件: 我得到错误: