我有一个现有的Angular应用程序,该应用程序在Chrome中可以正常运行,但无法(显然)在Internet Explorer上运行。这是怎么回事:
我安装的几个NPM模块带有不同的发行版。因此,例如,下面的文件夹结构kendo-angular-charts
如下所示:
- dist
|- cdn
|- es
|- es2015
|- npm
|- systemjs
当该网站在IE中中断时,是由于以下声明es2015\common\configuration.service.js
:
export class Change {
constructor(key, value) {
this.key = key;
this.value = value;
}
}
中断(无效的语法错误),因为Internet Explorer不支持ES2015类。但是文件es
夹中也有一个完全有效的ES5版本的文件。
那么我该如何使用呢?
我已经检查过angular.json
并package.json
寻找了似乎相关的选项,但找不到任何东西。
指定在编译器输出中使用的JavaScript方言的正确方法是中的target
属性tsconfig.json
。在我们的情况下,我们需要将其值设置为es5
。
但是,这仅适用于您的代码,不适用于导入的软件包。
此外,大多数导入通常仅指定软件包名称,但是您也应该寻找专门针对错误版本的导入。在我们的案例中,我们在下有一个导入@progress/kendo-angular-charts/dist/es2015
,这就是问题的根源。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句