eslint: error Ayrıştırma hatası: 'const' anahtar kelimesi ayrıldı


188

ESLint bu hatayı alıyorum:

error  Parsing error: The keyword 'const' is reserved

bu koddan:

const express = require('express');
const app = express();
const _ = require('underscore');

node_modules( Burada önerildiği gibi ) tüm npm paketleri kaldırma ve yeniden yüklemeyi denedim , ama boşuna.

Yanıtlar:


301

ESLint varsayılan olarak ES5 sözdizimi denetimidir. JavaScript'in en iyi desteklenen sürümüne geçersiz kılmak isteyeceksiniz.

.eslintrcProjenize bir dosya eklemeyi deneyin . İçinde:

{
    "parserOptions": {
        "ecmaVersion": 2017
    },

    "env": {
        "es6": true
    }
}

Umarım bu yardımcı olur.

EDIT: Ben de yardımcı olabilecek bu örnek.eslintrc bulundu .


10

.Eslintrc.js kullandım ve aşağıdaki kodu ekledim.

module.exports = {
    "parserOptions": {
        "ecmaVersion": 6
    }
};

6

Yapılandırma yerine bu satır içi satırını da ekleyebilirsiniz, yalnızca kendi devre dışı bırakma öğelerinizi eklemeden önce aynı dosyaya ekleyin

/* eslint-env es6 */
/* eslint-disable no-console */

benim durumum bir dosyayı devre dışı bıraktı ve eslint-devre dışı bırakma sadece benim için çalışmıyor

/* eslint-env es6 */
/* eslint-disable */

3

Kodumun bu kısmı ile aynı sorunu vardı:

const newComment = {
    dishId: dishId,
    rating: rating,
    author: author,
    comment: comment
};
newComment.date = new Date().toISOString();

Aynı hata, const ayrılmış bir kelimedir.

Şey, güncellemede verdiğiniz bağlantıdan .eslintrc.js'yi yaptım ve hala aynı hatayı aldım. Ayrıca, bir ayrıştırma hatası alıyorum .eslintrc.js: Unexpected token ':'.

Bu kısımda:

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

...

2

Visual Code kullanıyorsanız, bir seçenek bunu settings.json dosyasına eklemektir:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}

0

Benim durumumda, .eslintrcnode_modules / .bin'den root'a kopyaladığım dosyayı bulamadı .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.