1

我正在使用本身依赖于isomorphic-unfetch的依赖项。在 Angular 11 项目中,我可以执行 isomorphic-unfetch 本身而不会出现任何错误。当使用内部使用 isomorphic-unfetch 来获取的依赖项(通过 npm 安装)时,我收到以下消息:

index.js:209 TypeError: Failed to execute 'fetch' on 'Window': Illegal invocation
at zone-evergreen.js:1465
at Object.proto.<computed> [as default] (zone-evergreen.js:975)
at index.js:189
at step (index.js:70)
at Object.next (index.js:51)
at index.js:44
at new ZoneAwarePromise (zone-evergreen.js:1387)
at __awaiter (index.js:40)
at index.js:380

当集成到 React 或纯 JS/TS 中时,依赖项工作正常。我在这里发现了一些相关的问题,这些问题并没有专门针对 Angular。

4

1 回答 1

1

由于 Angular 提供了自己的库来发出 http 请求HttpClientModule,并且HttpClient通常不需要诸如此类的第三方库unfetch。这就是没有人在文档或其他地方定位 Angular 的原因。

但是应该仍然可以使用该库。在您的情况下,我能想到的一些提示出错了:

  • Window用大写W而不是w.
  • 也许您需要初始化一些对等依赖项,例如import 'unfetch'运行它们的默认脚本(然后将 fetch 函数添加到窗口对象)
于 2021-04-20T15:34:25.047 回答