如何在 angular 8 中的 Web Worker 中导入打字稿模块?
How to import a typescript module inside a Web Worker in angular 8?
从 Angular 8 开始,您现在可以从 CLI 为您的应用程序生成网络工作者。我完全按照官方指南做的:
https://angular.io/guide/web-worker
而且效果很好。
但是一旦我尝试将任何模块导入到 app.worker.ts
的顶部时:
import { MyData } from '../shared/shared.module';
然后我得到编译错误:
有没有其他方法可以将模块导入 web workers?
我的问题是我尝试导入的这个共享模块是使用 ng generate module
创建的。这样做时,angular 自动导入 NgModule
、CommonModule
并添加带有声明的 @NgModule
和导入到导出的 class。这些使您可以访问 DOM,而网络工作者无法访问 DOM。这就是我正在谈论的编译错误。尽管我并没有真正使用这些导入,但其中的 none 是我将此模块导入 webworker 的原因。无论如何,他们在那里,他们导致了错误。
我通过简单地从我的共享模块中删除 NgModule
、CommonModule
和整个 @NgModule
的 2 个导入语句来修复它。然后它顺利导入到网络工作者中,没有任何错误。
从 Angular 8 开始,您现在可以从 CLI 为您的应用程序生成网络工作者。我完全按照官方指南做的:
https://angular.io/guide/web-worker
而且效果很好。
但是一旦我尝试将任何模块导入到 app.worker.ts
的顶部时:
import { MyData } from '../shared/shared.module';
然后我得到编译错误:
有没有其他方法可以将模块导入 web workers?
我的问题是我尝试导入的这个共享模块是使用 ng generate module
创建的。这样做时,angular 自动导入 NgModule
、CommonModule
并添加带有声明的 @NgModule
和导入到导出的 class。这些使您可以访问 DOM,而网络工作者无法访问 DOM。这就是我正在谈论的编译错误。尽管我并没有真正使用这些导入,但其中的 none 是我将此模块导入 webworker 的原因。无论如何,他们在那里,他们导致了错误。
我通过简单地从我的共享模块中删除 NgModule
、CommonModule
和整个 @NgModule
的 2 个导入语句来修复它。然后它顺利导入到网络工作者中,没有任何错误。