IE11 Angular 2 error “Expected identifier, string or number”

耗尽温柔 提交于 2019-11-30 13:42:37

问题


Well, I have created site using Angular 2. When I run "ng-serve" command and trying to test my site using "http://localhost:4200" in Google Chrome and IE11 it works perfectly, but, if I build project using "ng-build --prod", host it on IIS. Site still works on Chrome, but IE11 shows the following errors:

I googled it and found that it was maybe reserved words in my identifiers key:value pairs. So I added Apostrophes(') arround my keys. For example I had the following object:

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

Also deleted last commas in key:value pairs and imported core.js in polyfills.ts


回答1:


The main problem is IE has Compatibility Mode enabled by default. And IE 11 has some compatibility mode issues. As per the followings question answer Angular 2 / 4 not working in IE11

When I tried to disable the compatibility mode off It works fine.

But ingeneral user will not off the compatibility mode. So I want a good solution for that.

Then I found following solution form Force IE compatibility mode off using tags

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



回答2:


I googled it and found that it was maybe reserved words in my identifiers key:value pairs.

No. These are not relevant to IE11.

Fix

You are most likely running raw .ts files. You should be hosting (in your script tags) the bundled / built .js files.



来源:https://stackoverflow.com/questions/43086130/ie11-angular-2-error-expected-identifier-string-or-number

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!