簡體   English   中英

如何在庫中使用 angular 應用程序的庫

[英]How to use a library of an angular application within a library

我有一個帶有定義服務的 angular 應用程序。 而且我還定義了幾個庫。 我不能做的是在我的一個庫中使用應用程序服務。

  • 源代碼
    • 應用程序
      • 服務
        • myappservice.service.ts
  • 項目
    • 我的庫
      • 源代碼
          • mylibservice.service.ts

當我嘗試將“myappservice”導入“mylibservice”時,它給了我這個錯誤:

... is not under 'rootDir' .... 'rootDir' is expected to contain all source files.

mylibservice.service.ts

import { MyAppService} from 'src/app/services/myappservice.service';

@Injectable({
  providedIn: "root",
})

export class ObjectTypesService {
...
constructor(
    private myappservice: MyAppService
  ) {
...

有人可以幫助我在我的圖書館中使用這項服務嗎?

您可以構建您的 lib 模塊,將其發布到 npm 並通過 ZBB30E85411B56DCF4129 將其添加到 package.json 中。

您可以構建您的 lib 模塊,而不是將其發布到 npm,您可以在 package.json 中導入.tgz 文件。

您可以使用一些已經解決此問題的 monorepo,例如https://nx.dev/ 在此解決方案中,您將所有庫和應用程序存儲在同一個 git 存儲庫中,您可以將庫導入應用程序,而無需在每次更改后將其發布到 npm。 這有不利的一面,因為您必須每次都構建應用程序和所有庫。

也可以在這個 monorepo 中構建 lib 作為 npm package。 如果您需要在 monorepo 之外的其他應用程序或來自 monorepo 的應用程序中使用它作為 npm 依賴項。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM