繁体   English   中英

Eslint 不允许静态类属性

Eslint does not allow static class properties

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我目前正在 Node 12.14.1 上开发 API,并使用 Eslint 来帮助我编写代码。 不幸的是,它不允许我设置静态类属性,如下所示:

class AuthManager {
  static PROP = 'value'
}

给出以下错误: Parsing error: Unexpected token =eslint

JS 和 Node.js 已经支持静态类属性。
如何禁用此规则?

我还有以下.eslintrc.json文件:

{
  "env": {
      "es6": true,
      "node": true
  },
  "extends": "eslint:recommended",
  "globals": {
      "Atomics": "readonly",
      "SharedArrayBuffer": "readonly"
  },
  "parserOptions": {
      "ecmaVersion": 2018,
      "sourceType": "module"
  }
}
4 个回复

ESLint 及其默认解析器目前不支持类字段语法。 您可以通过将配置的解析器更改为babel-eslint来解决问题。

npm install --save-dev babel-eslint
// eslintrc.json
{
  "parser": "babel-eslint",
  ...
}

Eslint 的默认解析器 Espree 不支持类字段,因为该语法目前处于第 3 阶段,并且决定在 Espree 中仅支持第 4 阶段提案。

你需要安装@babel/eslint-parser

yarn add --dev @babel/eslint-parser

例如,在.eslintrc.yml有解析器:

parser: "@babel/eslint-parser"

截至目前,我不得不使用这些配置

.eslintrc.js

module.exports = {
  env: {
    node: true,
    es6: true,
  },
  extends: [
    'airbnb-base',
  ],
  parser: '@babel/eslint-parser',
  parserOptions: {
    babelOptions: {
      configFile: './.babelrc',
    },
    ecmaVersion: 2018, // needed to support spread in objects
  },
  plugins: ['@babel'],
};

.babelrc

{
  "presets": ["@babel/env"],
  "plugins": [
    "@babel/plugin-syntax-class-properties"
  ]
}

我必须安装:

npm i -D @babel/preset-env
npm i -D @babel/eslint-parser
npm i -D @babel/eslint-plugin
npm i -D @babel/plugin-syntax-class-properties

请注意, @babel上述模块是唯一@babel在我模块package.json

ESLint v8 现在原生支持静态类属性: https ://eslint.org/blog/2021/10/eslint-v8.0.0-released

parserOptions ecmaVersion 应设置为 13、2022 或“最新”以启用支持。

1 ESLint 不允许 in

我有一个对象 我像这样使用 for: ESLint 向我展示了一个错误: ESLint: for..in 循环遍历整个原型链,这实际上永远不是你想要的。 使用 Object.{keys,values,entries},并迭代结果数组。 (无限制语法 我应该如何编辑我的代码? ...

2 Eslint配置不允许半

我有陪同的麻烦。 在我的节点项目的配置中,不需要semi,但是有些成员仍在使用它。 当有人用分号结束时如何显示错误? 非常感谢! ...

3 Perl静态类属性

据我所知,创建类(包)的动态实例就像是对Perl语法的破解(使用'bless')。 Perl不支持名为“class”的关键字; 因此一切都是有限的。 在创建静态类属性和静态类方法时,导致OOP困难的Perl的第一个限制。 有解决方案吗 ...

4 实例作为静态类属性

是否可以在 PHP 中将类的实例声明为属性? 基本上我想要实现的是: 好吧,我知道我不能这样做,但是除了总是做这样的事情之外还有什么解决方法: ...

5 静态类属性的继承

继承静态类属性: const foo = class { static prop = 'this is a static prop' } const bar = class extends foo {} console.log(bar.prop) // 'this is a stat ...

7 Eslint的警告不允许我推动回购

我有两个问题: 1)我无法推送到我们的团队仓库,因为我的代码中存在警告,并且在尝试推送时会做出反应。 2)我实际上是在本地环境中得到这些警告,而团队中没有其他人这样做。 问题是,我是团队中唯一一个在尝试推动时遇到错误的人。 我做了什么: 安装了eslint(5.16 ...

9 eslint不允许4个空格缩进

我已经为我的项目安装了eslint和eslint-plugin-vue。 在浏览器中加载项目时,在控制台中收到以下警告: http://eslint.org/docs/rules/indent预期缩进2个空格,但发现4个 src \\ _nav.js:2:1 这是我的_n ...

10 属性是不允许的

我最近启动了android studio 3.2,当我创建一个新项目时,它无法同步并且在prolog中提供错误内容是不允许的,并且错误是在xml文件中,它给出了错误,即不允许使用属性android布局。 我尝试了很多这里提供的解决方案,但它没有锻炼。 ...

2019-02-02 18:27:58 1 257   android
暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2021 STACKOOM.COM