eslint: error Parsing error: Kata kunci 'const' dicadangkan

188

Saya mendapatkan kesalahan ini dari ESLint:

error  Parsing error: The keyword 'const' is reserved

dari kode ini:

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

Saya sudah mencoba menghapus node_modulesdan menginstal ulang semua paket npm (seperti yang disarankan di sini ), tetapi tidak berhasil.

opike
sumber

Jawaban:

301

ESLint default untuk memeriksa sintaks ES5. Anda ingin mengganti ke versi JavaScript terbaru yang didukung dengan baik.

Coba tambahkan .eslintrcfile ke proyek Anda. Didalam itu:

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

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

Semoga ini bisa membantu.

EDIT: Saya juga menemukan contoh ini.eslintrc yang mungkin bisa membantu.

iamjpg
sumber
10

Saya menggunakan .eslintrc.js dan saya telah menambahkan kode berikut.

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

Anda juga dapat menambahkan inline ini alih-alih konfigurasi, cukup tambahkan ke file yang sama sebelum Anda menambahkan hal-hal menonaktifkan Anda sendiri

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

kasus saya menonaktifkan file dan menonaktifkan eslint tidak bekerja untuk saya sendiri

/* eslint-env es6 */
/* eslint-disable */
Yousef
sumber
3

Saya punya masalah yang sama dengan bagian kode ini:

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

Kesalahan yang sama, const adalah kata yang dilindungi undang-undang.

Masalahnya, saya membuat .eslintrc.js dari tautan yang Anda berikan di pembaruan dan masih mendapatkan kesalahan yang sama. Juga, saya mendapatkan error parsing di .eslintrc.js: Unexpected token ':'.

Tepat di bagian ini:

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

...
Marcos Sevilla
sumber
2

Jika menggunakan Visual Code, satu opsi adalah menambahkan ini ke file settings.json:

"eslint.options": {
    "useEslintrc": false,
    "parserOptions": {
        "ecmaVersion": 2017
    },
    "env": {
        "es6": true
    }
}
Bjørnar Hvidsten
sumber
0

Dalam kasus saya, itu tidak dapat menemukan .eslintrcfile jadi saya menyalin dari node_modules / .bin ke root.

fuddin
sumber