Библиотека Angular workspace — ошибка отладки: не удалось разрешить ошибку сборки записи

#angular #angular-cli #angular-devkit

#angular #angular-cli #angular-devkit

Вопрос:

У меня есть библиотека рабочей области, которая выдает ошибку, которую я понятия не имею, как отлаживать.

ОШИБКА СБОРКИ Не удалось разрешить запись (C:_devmy-apppresentationangular-workspacedistmy-app-uiesm2015my-app-ui.js ) Ошибка: не удалось разрешить ввод (C:_devmy-apppresentationangular-workspacedistmy-app-uiesm2015my-app-ui.js ) при ошибке (C:_devmy-apppresentationangular-workspacenode_modulesrollupdistrollup.js:3460:30 ) в C:_devmy-apppresentationangular-workspacenode_modulesrollupdistrollup.js:21474:17

Это помогло бы понять, что означает эта ошибка. Я знаю, что «точкой входа» для библиотеки является ее файл publi-api, и я знаю, какой конкретно модуль, включив его сюда, вызывает проблему.

Сам модуль довольно легкий.

public-api:

 export * from "./lib/global-assets/models";
export * from "./lib/global-assets/global-assets.module";
export * from "./lib/global-assets/global-assets.service";
export * from "./lib/top-banner/models";
export * from "./lib/top-banner/top-banner.module";
export * from "./lib/top-banner/top-banner.service";
export * from "./lib/top-banner/components/top-banner/top-banner.component";
export * from "./lib/top-banner/components/apps-menu/apps-menu.component";
export * from "./lib/top-banner/components/top-banner-toggle/top-banner-toggle.component";
 

Редактировать
Я сузил ее до включения модуля другой библиотеки (напрямую, а не через public-api)

 import { NgModule, ModuleWithProviders } from "@angular/core";
import { AuthService } from "./auth.service";

@NgModule({
  providers: [AuthService]
})
export class AuthModule {
  static forRoot(): ModuleWithProviders {
    return {
      ngModule: AuthModule,
      providers: [AuthService]
    };
  }
}
 

что с этим не так??

Ответ №1:

Исправление этого заключается в обеспечении использования источника распространения для импорта модуля. они добавляются в tsconfig.ts как пути, например

 "paths": {
  "one": [
    "dist/one"
  ],
  "one/*": [
    "dist/one/*"
  ],
  "two": [
    "dist/two"
  ],
  "two/*": [
    "dist/two/*"
  ]
 

а затем импортировать как:

 import { OneModule } from "one";
 

убедитесь, что вы также OneModule успешно выполнили сборку перед TwoModule