Как импортировать компонент из библиотеки (в nrwl / nx с Angular) - PullRequest
0 голосов
/ 28 июня 2019

Я хотел бы импортировать мою PageNotFoundComponent из моей библиотеки ui-components в маршрутизатор моего приложения.

Когда я импортирую UiComponentsModule в свой AppModule и использую компоненты в моем шаблоне, все работает просто отлично, но импортировать компонент в нотации es6 не удается.

/ LIBS / UI-компоненты / SRC / Lib / UI-components.module.ts

import { CommonModule } from '@angular/common';
import { NgModule } from '@angular/core';
import { ContactCardComponent } from './contact-card/contact-card.component';
import { NotFoundComponent } from './not-found/not-found.component';
import { WhiteLabelFooterComponent } from './white-label-footer/white-label-footer.component';
import { WhiteLabelHeaderComponent } from './white-label-header/white-label-header.component';

@NgModule({
  declarations: [
    ContactCardComponent,
    WhiteLabelFooterComponent,
    WhiteLabelHeaderComponent,
    NotFoundComponent
  ],
  exports: [
    ContactCardComponent,
    WhiteLabelFooterComponent,
    WhiteLabelHeaderComponent,
    NotFoundComponent
  ],
  imports: [CommonModule],
})
export class UiComponentsModule {}

/ приложения / MYAPP / SRC / приложение / приложение-routing.module.ts

import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
import { NotFoundComponent } from 'libs/ui-components/src/lib/not-found/not-found.component';

const routes: Routes = [
  {
    path: '**',
    component: NotFoundComponent,
  },
];

@NgModule({
  exports: [RouterModule],
  imports: [RouterModule.forRoot(routes)],
})
export class AppRoutingModule {}

При импорте типа import { NotFoundComponent } from 'libs/ui-components/src/lib/not-found/not-found.component'; я получаю сообщение об ошибке:

импорт библиотек должен начинаться с @ frontend / (nx -force-module-boundaries) tslint (1) Пути импорта субмодулей из этот пакет запрещен; импортировать из корня вместо (no-submodule-import) tslint (1) Модуль 'libs' не указан как зависимость в package.json (без неявных зависимостей) tslint (1)

Когда я изменяю импорт на import { NotFoundComponent } from '@frontend/ui-components';, я получаю ошибку:

Модуль '../../../../../../../../../Users/LeitgebF/Projects/KLAITONWeb/frontend/libs/ui-components/src "' не имеет экспортированного члена NotFoundComponent.ts (2305)

Так как мне импортировать компоненты непосредственно из библиотеки в Nx?

1 Ответ

0 голосов
/ 01 июля 2019

Я тоже должен добавить нужный компонент в файл барреля.Вот ответ от поддержки github репо: https://github.com/nrwl/nx/issues/1533

Я не понимаю, зачем мне для этого нужен модуль Angular, но я его создаю и экспортирую и другие компоненты в файле барреля.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...