Đối với một dự án cá nhân, tôi đang cố sử dụng tính năng nhập ES6 để viết mã sạch hơn. Là thử nghiệm đầu tiên, tôi đang viết một đối tượng cần tạo một menu. Toàn bộ mã đang hoạt động khi tôi trực tiếp tải lên lớp, nhưng khi sử dụng nhập và xuất trong ES6, nó sẽ xuất hiện lỗi "Uncaught SyntaxError: Unexpected identifier" trên đường dây import
trong main.js
Mô-đun ES6 Nhập cho "Cú pháp không bắt buộc Cú pháp: Số nhận dạng không mong muốn"
Tôi có các tập tin sau đây:
tài sản/js/menu.js
'use strict';
export default class Menu
{ ... }
tài sản/js/main.js
import Menu from "./menu.module.js";
window.addEventListener('DOMContentLoaded',() => {
const menu = new Menu();
}
index.html
<script type="module" src="assets/js/menu.module.js"></script>
<script src="assets/js/main.js">
Lưu ý rằng đây chỉ là những dòng có liên quan của mã.
Sử dụng đường dây <script type="module">
hoặc dường như không tạo ra bất kỳ sự khác biệt nào đối với tôi. Tôi có cả cờ chrome cho mô-đun thử nghiệm và ES6 được bật, vì không có chúng tôi nhận được lỗi về số import
không được xác định.
Phiên bản Chrome sẽ là 62, do đó, theo các nguồn khác nhau (bao gồm nhật ký cập nhật của google), điều này sẽ hoạt động, ngay cả khi không có cờ.
Ai đó có thể khai sáng cho tôi biết lý do tại sao điều này không hiệu quả và những gì tôi đang làm sai?
Có số dòng được liên kết không? Tệp nào bị lỗi? –
@BoyWithSilverWings quên thêm điều đó, Chỉ cần thêm ngay bây giờ. Đó là trên dòng 'import' trong' main.js' – ZeroThe2nd
Chẳng lẽ 'main.js' cũng cần' type = "module" '? Nó sử dụng cú pháp mô-đun, sau khi tất cả. – Bergi