This project was generated with Angular CLI version 14.2.10.
Соддержит 2 каталога:
- my-libs-workspace - рабочее пространство с библиотекой my-lib внутри
- my-app - приложение которое использует библиотеку my-lib
Репозиторий созданный с целью демонстрации ошибки импорта сервиса TestServiceService из библиотеки my-lib в компоненте AppComponent проекта my-app (который использует эту библиотеку, установку см в package.json проекта my-app)
Текст ошибки: ./src/app/app.component.ts:2:0-63 - Error: Module not found: Error: Package path ./lib/services/test-service.service is not exported from package ...\ex\my-app\node_modules\my-lib (see exports field in ...\ex\my-app\node_modules\my-lib\package.json)
import { Component } from '@angular/core';
//import { TestServiceService } from 'my-lib/lib/services/test-service.service';//dont work
import { TestServiceService } from 'my-lib'; //work
@Component({
selector: 'app-root',
templateUrl: './app.component.html',
styleUrls: ['./app.component.css'],
})
export class AppComponent {
title = 'my-app';
constructor(private MyLibService: TestServiceService) {}
}
Скачиваем репозиторий, заходим в my-libs-workspace, выполняем команды npm install, npm run pack.
Заходим в my-app, выполняем команды npm install, npm run install:my-lib, запускаем проект npm run start
Наблюдаем ошибку, чтобы устранить ошибку, в файле app.component.ts меняем импорт с нерабочего на рабочий
Как сделать сконфигурировать рабочее пространство библиотек или саму библиотеку или проект использующий библиотеку, таким образом, чтобы было возможно импортировать сущности из библиотеки my-lib различными способами, например:
import { TestServiceService } from 'my-lib';
import { TestServiceService } from 'my-lib/lib/services';// не работает, а хотелось бы
import { TestServiceService } from 'my-lib/lib/services/test-service.service';// не работает, а хотелось бы