eslint: error Lỗi phân tích cú pháp: Từ khóa 'const' được bảo lưu


186

Tôi nhận được lỗi này từ ESLint:

error  Parsing error: The keyword 'const' is reserved

từ mã này:

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

Tôi đã thử gỡ bỏ node_modulesvà cài đặt lại tất cả các gói npm (như được đề xuất ở đây ), nhưng không có kết quả.

Câu trả lời:


299

ESLint mặc định để kiểm tra cú pháp ES5. Bạn sẽ muốn ghi đè lên phiên bản JavaScript được hỗ trợ tốt nhất mới nhất.

Hãy thử thêm một .eslintrctập tin vào dự án của bạn. Bên trong nó:

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

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

Hy vọng điều này sẽ giúp.

EDIT: Tôi cũng tìm thấy ví dụ.eslintrc này có thể giúp đỡ.


10

Tôi đã sử dụng .eslintrc.js và tôi đã thêm mã sau đây.

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

6

bạn cũng có thể thêm nội tuyến này thay vì cấu hình, chỉ cần thêm nó vào cùng một tệp trước khi bạn thêm công cụ vô hiệu hóa của riêng bạn

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

trường hợp của tôi là vô hiệu hóa một tập tin và eslint-vô hiệu hóa không làm việc cho tôi một mình

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

3

Tôi đã có cùng một vấn đề với phần mã này của tôi:

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

Cùng một lỗi, const là một từ dành riêng.

Vấn đề là, tôi đã tạo .eslintrc.js từ liên kết bạn đưa ra trong bản cập nhật và vẫn gặp lỗi tương tự. Ngoài ra, tôi nhận được một lỗi phân tích cú pháp trong .eslintrc.js: Unexpected token ':'.

Ngay trong phần này:

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

...

2

Nếu sử dụng Visual Code, một tùy chọn là thêm tệp này vào tệp settings.json:

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

0

Trong trường hợp của tôi, nó không thể tìm thấy .eslintrctệp nên tôi đã sao chép từ node_modules / .bin sang root.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.