2017-03-29 124 views
15

嗯,我创建了使用Angular 2的网站。当我运行“ng-serve”命令并试图在Google Chrome和IE11中使用“http://localhost:4200”测试我的网站时,完美地工作,但是,如果我使用“ng-build -prod”构建项目,则将其托管在IIS上。网站仍然在Chrome上运行,但IE11显示以下错误: Expected identifier, string or numberIE11 Angular 2错误“预期的标识符,字符串或数字”

我对它进行了搜索,发现它可能是我的标识符键值对中的保留字。所以我在我的钥匙周围加了Apostrophes(')。 例如,我有以下对象:

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

也删除最后一个逗号键:在polyfills.ts

+0

正是同样的问题对我来说。没有解决找到任何地方。 –

+0

错误输出中提到的位置的代码是什么? –

+0

这可能有帮助 - > https://stackoverflow.com/questions/12675622/script1028-expected-identifier-string-or-number或https://stackoverflow.com/questions/15632568/script1010-expected-identifier-in- ie10 – eminlala

回答

-1

我GOOGLE了一下,发现它可能保留值对进口core.js我的标识符键中的单词:值对。

不,这些与IE11无关。

修复

你最有可能运行原始.ts文件。您应该托管(在脚本标记中)捆绑/构建的.js文件。

6

主要问题是IE默认启用了兼容模式。而IE 11有一些兼容模式问题。 按以下内容问题答案Angular 2/4 not working in IE11

当我试图禁用兼容模式关闭它工作正常

但一般用户不会退出兼容模式。所以我想要一个很好的解决方案。

后来我发现下面的解决方案形式Force IE compatibility mode off using tags

 <meta http-equiv="X-UA-Compatible" content="IE=edge" /> 
相关问题