David Maisuradze
David Maisuradze

Reputation: 844

IE11 Angular 2 error "Expected identifier, string or number"

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

Upvotes: 25

Views: 11932

Answers (2)

Partha Sarathi Ghosh
Partha Sarathi Ghosh

Reputation: 11576

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" />

Upvotes: 23

basarat
basarat

Reputation: 275917

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.

Upvotes: -3

Related Questions