Cú pháp mô-đun ES2015 được ưu tiên hơn các mô-đun TypeScript tùy chỉnh và không gian tên @ typecript-eslint / no-không gian tên


9

Tôi đang nhận được lỗi sau khi chạy npm start:

Cú pháp mô-đun ES2015 được ưu tiên hơn các mô-đun TypeScript tùy chỉnh và không gian tên @ typecript-eslint / no-không gian tên

    namespace InternalThings {...}

Tôi đã cố gắng nghiên cứu điều này nhưng nó rất khó hiểu.

Tại sao điều này đang xảy ra? Làm thế nào để khắc phục nó?

Tôi đã cố gắng đặt một số cờ trên tsconfig.json nhưng đến nay vẫn không thành công;

Câu trả lời:


11

Đây là lỗi lint, do quy tắc lint này gây ra: https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md

Nếu bạn thấy quy tắc này hữu ích và muốn giữ nó, thì bạn sẽ cần sửa đổi mã của mình để sử dụng importexportthay vì không gian tên. Xem tài liệu của quy tắc cho những gì được coi là một sửa chữa.

Nếu bạn thích quy tắc, nhưng muốn tắt quy tắc cho dòng này, hãy thêm dòng sau vào phía trên nó:

// eslint-disable-next-line @typescript-eslint/no-namespace

Nếu bạn không thích quy tắc này và muốn tắt hoàn toàn quy tắc đó, thì hãy chỉnh sửa tệp .eslintrc của bạn để có dòng sau:

rules: {
  "@typescript-eslint/no-namespace": "off"
}

2

Lỗi đến từ eslint. Bạn phải bỏ qua quy tắc '@ typecript-eslint / no-không gian tên' trong cấu hình hoặc viết lại mã của bạn bằng ES6.

Các mô-đun TypeScript tùy chỉnh (mô-đun foo {}) và không gian tên (không gian tên foo {}) được coi là những cách lỗi thời để tổ chức mã TypeScript. Cú pháp mô-đun ES2015 hiện được ưa thích (nhập / xuất)

Tham khảo https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-namespace.md

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.