【发布时间】:2019-08-19 15:06:22
【问题描述】:
不久前,我们将 Angular 解决方案从 7.x.x 更新到了 8.0.0。不幸的是,我们遇到了 ej2 图的异常。现在 - 一段时间后我们再次检查,最新版本仍然存在问题:
- Angular v.8.2.2
- syncfusion/ej2-angular-diagrams v.17.2.41
构建很好,但是当我们加载应用程序时,控制台中会抛出以下异常:
core.js:6014 ERROR Error: Uncaught (in promise): ReferenceError: Cannot access 'Node' before initialization
ReferenceError: Cannot access 'Node' before initialization
at Module../node_modules/@syncfusion/ej2-diagrams/dist/es6/ej2-diagrams.es2015.js (ej2-diagrams.es2015.js:8677)
at __webpack_require__ (bootstrap:84)
at Module../node_modules/@syncfusion/ej2-angular-diagrams/@syncfusion/ej2-angular-diagrams.js (ej2-angular-diagrams.js:1)
at __webpack_require__ (bootstrap:84)
at Module../src/app/main/main.module.ts (main-routing.module.ts:27)
at __webpack_require__ (bootstrap:84)
at ZoneDelegate.invoke (zone-evergreen.js:359)
at Object.onInvoke (core.js:39698)
at ZoneDelegate.invoke (zone-evergreen.js:358)
at Zone.run (zone-evergreen.js:124)
at resolvePromise (zone-evergreen.js:797)
at resolvePromise (zone-evergreen.js:754)
at zone-evergreen.js:858
at ZoneDelegate.invokeTask (zone-evergreen.js:391)
at Object.onInvokeTask (core.js:39679)
at ZoneDelegate.invokeTask (zone-evergreen.js:390)
at Zone.runTask (zone-evergreen.js:168)
at drainMicroTaskQueue (zone-evergreen.js:559)
更新: 再次分析更新提交(导致上述异常)后,我注意到我还更改了 tsconfig.json 中 compilerOptions 下的 target 选项强>文件。确实 - 在将目标值从 es2015 更改回 es5 后,异常消失了。
所以这里的问题实际上应该是当我尝试使用 es6 或 es2015 作为 typescript 目标选项时为什么会得到这个异常?
【问题讨论】:
标签: angular typescript ecmascript-6 syncfusion