IE11 Angular 2错误“预期的标识符,字符串或数字”

时间:2017-03-29 06:39:44

标签: angular typescript iis internet-explorer-11 angular-cli

好吧,我已经使用Angular 2创建了网站。当我运行“ng-serve”命令并尝试在Google Chrome和IE11中使用“http://localhost:4200”测试我的网站时,它运行正常,但是,如果我构建项目使用“ng-build --prod”,在IIS上托管它。网站仍在Chrome上运行,但IE11显示以下错误: Expected identifier, string or number

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

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

还删除了key:value对中的最后一个逗号,并在polyfills.ts中导入了core.js

2 个答案:

答案 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文件。