Javascript ESLint意外字符'@';对于JS装饰者

Javascript ESLint意外字符'@';对于JS装饰者,javascript,eslint,ecmascript-next,Javascript,Eslint,Ecmascript Next,我试图在我的JS项目中使用decorators,但是ESLint抛出了一个错误,指出@symbol是一个意外的字符 我的代码: @observable items = []; My.eslintrc: { "parserOptions": { "ecmaVersion": 6, "ecmaFeatures": { "jsx": true }, "sourceT

我试图在我的JS项目中使用decorators,但是ESLint抛出了一个错误,指出@symbol是一个意外的字符

我的代码:

@observable items = [];
My.eslintrc:

{
    "parserOptions": {
            "ecmaVersion": 6,
            "ecmaFeatures": {
                "jsx": true
            },
            "sourceType": "module"
    },
    "env": {
            "browser": true,
            "node": true,
            "es6": false
    },
    "ecmaFeatures": {
            "modules": true
    },
    "rules": {
        "strict": [
            2,
            "global"
        ],
        "quotes": [
            2,
            "single"
        ],
        "indent": [
            2,
            4
        ],
        "eqeqeq": [
            2,
            "smart"
        ],
        "semi": [
            2,
            "always"
        ],
        "max-depth": [
            2,
            4
        ],
        "max-statements": [
            2,
            15
        ],
        "complexity": [
            2,
            5
        ]
    }
}
您可能想使用它来解析ESLint尚未实现的东西(通常是这样的实验特性)。从他们的自述:

目前,如果您使用诸如类属性、装饰器、类型之类的东西,您将需要它


它与当前的eslint设置一起使用,您只需更新
.eslintrc

中的一些配置,如果您使用可视化代码,它将不会始终工作。您需要将以下参数添加到用户设置(或工作区设置)中:

{
...
“eslint.options”:{
“实验者”:真的吗
}
...
}

不知何故,此选项会赢得您放入.eslintrc的任何内容。

快速回答:

安装一个lib

npm i -D babel-eslint
添加到您的.eslintrc

"parser": "babel-eslint"

谢谢Matt,我无法从该链接看出安装babel eslint是否应该取代我当前的“eslint”,还是我应该将其与?@DeanGibson结合使用。自述文件包含安装说明。查看eslintrc部分(
“parser”:“babel eslint”,
)babel eslint的README.md中的这句话可能比eslint问题更切题:“目前,如果您使用类属性、装饰器、类型等内容,您将需要它。”ES6中没有装饰器。