У меня есть два Angular проекта, которые совместно используют общий код через библиотеку Angular. Я запустил ng update
в обоих проектах и в своей библиотеке Angular, чтобы попытаться обновить ее с Angular 8 до 9. Скрипты миграции изменили мой файл tsconfig.app.json
с
"include": [
"../src/**/*"
]
на
* Руководство по миграции 1007 *
Angular состояний
Мы обновили tsconfig.app. json, чтобы ограничить количество скомпилированных файлов. Если вы полагаетесь на другие файлы, включенные в компиляцию, например на файл typings.d.ts, вам необходимо вручную добавить его в компиляцию.
Когда я пытался запустить свое приложение (ng serve
из одного из проектов, который использует библиотеку), я получил ошибку
ERROR in Failed to compile entry-point my-common-library (module as esm5) due to compilation errors:
node_modules/my-common-library/fesm5/my-common-library.js:5207:30 - error NG1010: Value at position 4 in the NgModule.imports of MyCommonLibraryModule is not a reference: [object Object]
5207 imports: [
~
5208 CommonModule,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
...
5225 MatAutocompleteModule
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
5226 ],
~~~~~~~~~~~~~~~~~~~~~
Если я заменил tsconfig.app.json
моей библиотеки на
"include": [
"../src/**/*"
]
, то все работает отлично. Поэтому я думаю, что мои вопросы
- Разве
ng update
не предназначен для работы с библиотеками? - Это ошибка?
- Мой "исправление" в порядке или я пропускаю некоторые Angular 9 оптимизаций? Есть ли лучший способ?