首页 > 解决方案 > 是否可以在使用网络工作者的 nx 工作区中创建 Angular 库?

问题描述

我想在我的 nx 工作区中创建一个 Angular 库,该库在内部使用网络工作者。

例如 Angular 库包含

import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FibonacciService } from './fibonacci.service';

@NgModule({
  imports: [CommonModule],
  providers: [FibonacciService],
})
export class FibonacciModule {}

import { Injectable } from '@angular/core';

@Injectable({
  providedIn: 'root',
})
export class FibonacciService {
  private worker: Worker;

  constructor() {
    this.worker = new Worker('./lib.worker', { type: 'module' });
    this.worker.onmessage = () => {
      // ...
    };
  }
  calculate(num: number) {
    this.worker.postMessage(num);
    // ...
  }
}

如果我通过 Angular 原理图创建一个新的网络工作者,则 angular.json 会使用新属性进行更新 "webWorkerTsConfig": "apps/my-app/tsconfig.worker.json"

但是,如果我将此属性添加到角度库中,则会出现错误。是否可以在 NX 工作区中使用带有 Angular 库的网络工作者?在我看来,将 web worker 封装在库中是有意义的。

标签: angularweb-workernrwl-nxnrwl

解决方案


推荐阅读