angular - 是否可以在使用网络工作者的 nx 工作区中创建 Angular 库?
问题描述
我想在我的 nx 工作区中创建一个 Angular 库,该库在内部使用网络工作者。
例如 Angular 库包含
- 一个叫做 Angular 的模块
FibonacciModule
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { FibonacciService } from './fibonacci.service';
@NgModule({
imports: [CommonModule],
providers: [FibonacciService],
})
export class FibonacciModule {}
- 一个叫做 Angular 的服务
FibonacciService
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);
// ...
}
}
- 一个网络工作者包含一个
lib.worker.ts
和一个fibonacci.ts
如果我通过 Angular 原理图创建一个新的网络工作者,则 angular.json 会使用新属性进行更新
"webWorkerTsConfig": "apps/my-app/tsconfig.worker.json"
。
但是,如果我将此属性添加到角度库中,则会出现错误。是否可以在 NX 工作区中使用带有 Angular 库的网络工作者?在我看来,将 web worker 封装在库中是有意义的。
解决方案
推荐阅读
- laravel - 带有 Vue.js 和 webpack 的 Laravel 6,而不是常规的 Vue
- xcode - 如何防止苹果手表应用程序退出后台swiftui
- sql - 我们可以在 WHERE 子句中执行 WHERE 条件,如果其中不满足条件,则解析器继续执行下一个条件 sql?
- laravel - Laravel - 资源获取数组的所有关系
- module - 如何允许模块在其公共功能中使用超级模块的私有结构?
- java - Lombok:@RequiredArgsConstructor 从 final 但不是从 @NotNull 创建构造函数
- flutter - 如何在颤动的一个应用程序中使用适用于 android 和 ios 的 SharedPreferences
- python - 如何从 matplotlib.pyplot.axes 获取投影类型?
- angular - 如何在 html 中设置标题,来自 TS 文件 ANGULAR
- java - 使用 Android 资产 zip 文件时出现 FileNotFound 异常