如何在angular 8中的Web Worker中导入typescript模块?
从Angular 8开始,您现在可以从CLI为应用程序生成web worker。我的做法与官方指南一模一样: 而且它工作得很好 但是,一旦我尝试将任何模块导入到如何在angular 8中的Web Worker中导入typescript模块?,angular,typescript,web-worker,Angular,Typescript,Web Worker,从Angular 8开始,您现在可以从CLI为应用程序生成web worker。我的做法与官方指南一模一样: 而且它工作得很好 但是,一旦我尝试将任何模块导入到app.worker.ts的顶部,使用: import { MyData } from '../shared/shared.module'; 然后我得到编译错误: 是否有其他方法将模块导入web workers?我的问题是,我尝试导入的共享模块是使用ng generate module创建的。在此过程中,angular会自动导入Ng
app.worker.ts
的顶部,使用:
import { MyData } from '../shared/shared.module';
然后我得到编译错误:
是否有其他方法将模块导入web workers?我的问题是,我尝试导入的共享模块是使用
ng generate module创建的。在此过程中,angular会自动导入NgModule
,CommonModule
,并向导出的类添加带有声明和导入的@NgModule
。这些允许您访问DOM,而web工作人员不能访问DOM。这就是我所说的编译错误。尽管我没有真正使用这些导入,但这些都不是我将此模块导入webworker的原因。不管怎样,他们都在那里,他们造成了错误
我只需从共享模块中删除NgModule
、CommonModule
的两条导入语句以及整个@NgModule
,就解决了这个问题。然后,它导入到web worker中时没有任何错误。作为一个可能有用的注释,我注意到Angular 8中的web workers的一点是,导入任何标记为@Injectable()的内容都会导致这种错误。如果您的模块有任何使用DI的内容,则可能是导致此错误消息的原因。不幸的是,我还没有找到解决这个问题的办法。