При компиляции библиотеки Angular я получаю эту ошибку относительно rootDir моих подбиблиотек.
library/services/src/public-api.ts:31:15 - error TS6059: File 'C:/libname/library/services/src/orders/orders.service.ts' is not under 'rootDir' 'C:/libname\library\classes\src'. 'rootDir' is expected to contain all source files.
Я пришел к пониманию, что использование относительного импорта внутри библиотеки Angular между отдельными вторичными записями - не лучшая практика. Итак, я разделил свой код на второстепенные записи + пути настройки в TSConfig.
Структура кода
library
services
src
public-api.ts
package.json
models
src
public-api.ts
package.json
src
public-api.ts
package.json
TSConfig
{
"rootDir": "./library/",
"paths": {
"@core/services": [ "library/services/src/public-api.ts" ]
}
}
angular.json
{
"projects": {
"lib": {
"root": "library",
"sourceRoot": "library"
}
}
}
Итак, вопрос в том, как исправить импорт между отдельными вторичными точками входа или файловой структурой и обеспечить корректную компиляцию проекта? Я понимаю, что компиляция вторичных точек входа выполняется отдельно и рассматривается как отдельный проект, отсюда и ошибка. Должен ли я поэтому добавлять отдельные вторичные точки входа в качестве зависимостей одноранговых узлов?
Конечно, есть больше путей и вторичных конечных точек - но это не имеет отношения к проблеме, этого достаточно, чтобы показать мою файловую структуру и настройки