好吧,我已经使用Angular 2创建了网站。当我运行“ng-serve”命令并尝试在Google Chrome和IE11中使用“http://localhost:4200”测试我的网站时,它运行正常,但是,如果我构建项目使用“ng-build --prod”,在IIS上托管它。网站仍在Chrome上运行,但IE11显示以下错误:
我用谷歌搜索它,发现它可能是我的标识符键中的保留字:值对。所以我在钥匙上添加了Apostrophes(')。 例如,我有以下对象:
user:UserViewModel={
Username:"",
Age:0
};
and changed this to:
user:UserViewModel={
'Username':"",
'Age':0
};
还删除了key:value对中的最后一个逗号,并在polyfills.ts中导入了core.js
答案 0 :(得分:15)
主要问题是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" />
答案 1 :(得分:-3)
我用谷歌搜索它,发现它可能是我的标识符键中的保留字:值对。
没有。这些与IE11无关。
您很可能正在运行原始.ts
文件。您应该托管(在脚本标记中)捆绑/构建的.js
文件。