Using Angular and nginx I get the error Uncaught TypeError: Super expression must either be null or a function

Using Angular and nginx I get the error Uncaught TypeError: Super expression must either be null or a function

我看到很多人对此有疑问,但几乎所有人似乎都在使用 React。这是我在 Angular (8.2.9) 和 nginx 中的第一个项目。我从事该项目已有一段时间了,仅使用 ng serve 时效果很好,但是在进行产品构建并在 nginx 上提供服务后出现此错误。它在 main-es2015... 文件中。如果我从生成的 index.html 文件中注释此脚本,它至少会无错误地加载 index.html 文件。

从反应这个错误的问题来看,它似乎主要是关于不正确地扩展 class 或循环继承。我检查了所有进口商品,它们似乎是正确的。唯一不同的是 wavesurfer.js 包。导入 wavesurfer.js 的类型后,我不得不使用

导入
import  * as WaveSurfer  from 'wavesurfer.js';

这似乎在本地运行良好,所以不确定这是我的问题,但它似乎是唯一不同于标准导入的导入。

不确定从哪里开始寻找。如果有人知道从哪里开始查找或如何确定究竟是什么引发了此错误,我将不胜感激。


已解决

最终将范围缩小到 wavesurfer.js 的导入。经过一天尝试不同的导入、编译器标志等后,归结为将我的导入语句更改为:

import WaveSurfer from 'wavesurfer.js/dist/wavesurfer';

似乎在本地使用 ng serve 并在 ng build --prod 之后使用 nginx 服务。

通过反复试验找到的解决方案,但现在似乎可以正常工作。