eslint: ข้อผิดพลาดในการแยกวิเคราะห์ข้อผิดพลาด: คำหลัก 'const' ถูกสงวนไว้


188

ฉันได้รับข้อผิดพลาดนี้จาก ESLint:

error  Parsing error: The keyword 'const' is reserved

จากรหัสนี้:

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

ฉันลองลบแล้ว node_modulesและติดตั้งแพ็กเกจ npm ทั้งหมดใหม่ (ตามที่แนะนำที่นี่ ) แต่ไม่มีประโยชน์

คำตอบ:


301

ESLint เริ่มต้นการตรวจสอบไวยากรณ์ ES5 คุณจะต้องแทนที่ JavaScript รุ่นที่รองรับล่าสุด

ลองเพิ่ม.eslintrcไฟล์ในโครงการของคุณ ข้างใน:

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

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

หวังว่านี่จะช่วยได้

แก้ไข: ฉันยังพบตัวอย่างนี้.eslintrcซึ่งอาจช่วย



6

คุณสามารถเพิ่มอินไลน์นี้แทนการกำหนดค่าเพียงเพิ่มลงในไฟล์เดียวกันก่อนที่คุณจะเพิ่มสิ่งที่ปิดการใช้งานของคุณเอง

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

กรณีของฉันถูกปิดใช้งานไฟล์และ eslint-disable ไม่ทำงานสำหรับฉันคนเดียว

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

3

ฉันมีปัญหาเดียวกันกับรหัสนี้:

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

ข้อผิดพลาดเดียวกัน const เป็นคำที่สงวนไว้

สิ่งนี้คือฉันสร้าง. eslintrc.js จากลิงก์ที่คุณให้ในการอัปเดตและยังคงได้รับข้อผิดพลาดเดียวกัน นอกจากนี้ฉันยังได้รับข้อผิดพลาดในการแยกวิเคราะห์ใน.eslintrc.js: Unexpected token ':'.

ในส่วนนี้:

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

...

2

หากใช้ตัวเลือกหนึ่งรหัส Visual คือการเพิ่มไปยังไฟล์ settings.json:

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

0

ในกรณีของฉันมันไม่สามารถค้นหา.eslintrcไฟล์ได้ดังนั้นฉันคัดลอกจาก node_modules / .bin ไปยังรูท

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.