2017-03-29 68 views
15

Stworzyłem stronę za pomocą Angular 2. Po uruchomieniu polecenia "ng-serve" i przetestowaniu mojej witryny przy użyciu "http://localhost:4200" w Google Chrome i IE11 działa idealnie, ale jeśli zbuduję projekt za pomocą "ng-build --prod", uruchom go na IIS. Witryna wciąż działa w przeglądarce Chrome, ale IE11 zawiera następujące błędy: Expected identifier, string or numberIE11 Angular 2 error "Oczekiwany identyfikator, ciąg lub numer"

Wyszukałem go i stwierdziłem, że to może były zastrzeżone słowa w kluczach moich identyfikatorów: pary wartości. Więc dodałem Apostrophes (') wokół moich kluczy. Na przykład miałem następujący obiekt:

user:UserViewModel={ 
    Username:"", 
    Age:0 
}; 
and changed this to: 
user:UserViewModel={ 
    'Username':"", 
    'Age':0 
}; 

usunięte Również ostatni przecinki w kluczu: par wartości i importowane core.js w polyfills.ts

+0

Dokładnie ten sam problem dla mnie. Nie znaleziono żadnego rozwiązania. –

+0

Jaki jest kod na pozycjach wymienionych w wyjściu błędu? –

+0

To może pomóc -> https://stackoverflow.com/questions/12675622/script1028-wyrażony-identyfikator-string-lub-numer lub https://stackoverflow.com/questions/15632568/script1010-expected-identifier-in- ie10 – eminlala

Odpowiedz

-1

google go i okazało się, że to było może zastrzeżone słowa w kluczu identyfikatorów: pary wartości.

Nie. Nie dotyczą one IE11.

Fix

Jesteś najprawdopodobniej działa surowe .ts plików. Powinieneś hostować (w tagach skryptu) pliki dołączone/zbudowane .js.

6

Głównym problemem jest to, że IE ma domyślnie włączony tryb zgodności. IE 11 ma pewne problemy z trybem zgodności. Jak na poniższych Pytanie Odpowiedź Angular 2/4 not working in IE11

Kiedy próbowałem wyłączyć tryb zgodności off działa dobrze.

Ale użytkownik ogólny nie wyłącza trybu zgodności. Więc chcę na to dobre rozwiązanie.

Potem znalazłem następującą postać rozwiązanie Force IE compatibility mode off using tags

 <meta http-equiv="X-UA-Compatible" content="IE=edge" />