Angular 9.0 ngserve在vendor.js文件中引发“无效令牌”错误

问题描述

我刚刚更新到Angular 9,当我尝试运行ngserve时,在vendor.js文件中收到“未捕获的SyntaxError:无效或意外的令牌”错误。我现在多次出现此错误,通常在vendor.js文件的不同行上(首先在35xxx行,然后在15xxx行,现在在7xxx行)。在浏览器中检查该文件时,总是会出现一些我会希望看到清晰字符的“ ...”字符,因此在生成文件并插入不正确/垃圾字符时,ngserve进程似乎可能会遇到问题?最新的示例位于vendor.js的第7618行,Chrome网络检查器将该行显示为:

return new _angular_animations__WEBPACK_IMPORTED_MODULE_0__["NoopAnimationPlayer"](timelineInstruction.duration,�BC�\��Instruction.delay);

我不知道从哪里开始解决此问题。这完全阻止了我的网站加载,因此我基本上陷于困境。

解决方法

通常是编码问题, 在您的情况下,由于vendor.js的Unicode,您会遇到此问题 确保它使用utf8

,

似乎是因为Angular的“ ag-grid”插件与Angular 9+中新的“ Ivy”渲染效果不佳而导致的问题,并且错误发生在Angular本身,插件更新无法解决问题。

解决方案是更新到Angular v10。