25

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: Expected identifier, string or number

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

Partha Sarathi Ghosh
  • 10,936
  • 20
  • 59
  • 84
David Maisuradze
  • 824
  • 2
  • 12
  • 27

2 Answers2

23

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" />
Partha Sarathi Ghosh
  • 10,936
  • 20
  • 59
  • 84
-3

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.

basarat
  • 261,912
  • 58
  • 460
  • 511