Библиотека угловой рабочей области - ошибка отладки: не удалось устранить ошибку построения записи - PullRequest
0 голосов
/ 14 апреля 2019

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

BUILD ERROR Не удалось разрешить запись (C: _dev \ my-app \ presentation \ angular-рабочая область \ dist \ my-app-ui \ esm2015 \ my-app-ui.js) Ошибка: не удалось разрешить запись (C: _dev \ my-app \ presentation \ angular-workspace \ dist \ my-app-ui \ esm2015\ my-app-ui.js) при ошибке (C: _dev \ my-app \ presentation \ angular-workspace \ node_modules \ rollup \ dist \ rollup.js: 3460: 30) в C: _dev \ my-app \ presentation\ angular-workspace \ node_modules \ rollup \ dist \ rollup.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";

edit Я сузил его до включения модуля другой библиотеки (напрямую, не через 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 Ответ

0 голосов
/ 15 апреля 2019

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

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

, а затем импортируются как:

import { OneModule } from "one";

, что гарантирует успешную сборку OneModule до TwoModule

...