2017-11-06 14 views
5

Tôi đã cài đặt phiên bản mới nhất của angular-cli và đã tạo một dự án hoàn toàn mới (ng ứng dụng mới của tôi). Điều này tạo ra "Welcome to App" luôn phong cách với logo Angular và liên kết đến Tour of Heroes, Tài liệu CLI và blog Góc. Tôi có thể phục vụ điều này và truy cập nó cục bộ trên máy tính Windows của tôi bằng Chrome và Firefox.Dự án Angular-CLI mặc định Không có trong Safari - chế độ nghiêm ngặt thủ phạm?

Trường hợp này lạ là khi tôi cố gắng truy cập cùng một ứng dụng được lưu trữ cục bộ thông qua Browserstack. Khi tôi nhấn nó từ một máy Mac chạy Safari 11, tất cả các công trình như mong đợi.

Tuy nhiên, khi tôi cố truy cập qua thiết bị Mac (ví dụ iPad) chạy Safari 10+, ứng dụng sẽ không tải và tôi nhận được thông báo lỗi: "SyntaxError: Từ khóa không mong đợi 'const'. được hỗ trợ ở chế độ nghiêm ngặt ". Thông báo lỗi được gắn với một vị trí trong vendor.bundle.js của tôi (trong một eval).

Từ đọc sách của tôi, có vẻ như các phiên bản cũ hơn của Safari không hoạt động tốt khi có chế độ nghiêm ngặt khi bật chế độ nghiêm ngặt. Nhưng, tôi hy vọng có một công việc xung quanh.

Những người khác xử lý việc này như thế nào? Tôi không phải là một chuyên gia về góc cạnh, vì vậy nếu có một giải pháp rõ ràng, tôi xin lỗi vì đã không nhìn thấy nó.

Bất kỳ hỗ trợ nào sẽ được đánh giá rất nhiều.

Trả lời

4

Tôi gặp vấn đề tương tự. Có vẻ như một vấn đề trong webpack-dev-server (được sử dụng dưới mui xe bởi @ angular/cli) sử dụng các tính năng ES6 và không bị chuyển đổi.

Đây chỉ là sự cố trong các phiên bản Safari cũ hơn, nhưng việc cập nhật Safari không phải là giải pháp khi bạn muốn thử nghiệm trên các phiên bản Safari cũ hơn.

Một cách giải quyết tạm thời là sử dụng một phiên bản cũ cho webpack-dev-server bằng cách cài đặt nó và sao chép nó bằng tay để các địa phương @ góc/cli thư mục:

yarn add [email protected] --dev 
cp -R ./node_modules/webpack-dev-server ./node_modules/@angular/cli/node_modules/ 
./node_modules/.bin/ng serve 
+0

Thú vị! Bạn có thể giải thích những gì workaround không? –

+0

Cảm ơn Dirk! Một số hương vị khác: https://github.com/webpack/webpack-dev-server/issues/1105 – STH

1

Các tính năng ES6 của các phiên bản mới hơn về nguyên nhân máy chủ dev điều này, nhưng cụ thể hơn là tính năng tải lại trực tiếp.

Nếu bạn vượt qua cờ --no-live-reload, bạn sẽ có thể thử nghiệm trên các thiết bị cũ hơn mà không cần phải hạ cấp mọi thứ.

Ví dụ: ng serve --no-live-reload

Các vấn đề liên quan