Я хочу использовать сопоставление путей для прямой ссылки на библиотеку, которая находится в той же структуре каталогов, что и мое угловое приложение.
Состав:
mycompany-mylib/
src/
tsconfig.json
Я добавил следующее к своему tsconfig.json
{
"compilerOptions": {
...
"baseUrl": ".",
"paths": {
"@mycompany/mylib": ["mycompany-mylib/lib/src/public_api"],
}
}
}
Эта конфигурация кажется правильной, и Typescript может разрешить эти пути, так как я не получаю ошибок и полной интеллигенции в коде Visual Studio.
Например:
import { UserClientModule } from '@mycompany/mylib'
Однако, когда я запускаю ng serve
или ng serve --aot
, я получаю ошибку, что модуль не был найден (Моя версия AngularCLI 1.7.4 ):
ERROR in src/app/core/components/user-profile/user-profile.component.ts(5,43): error TS2307: Cannot find module '@mycompany/mylib'.
Эта техника должна работать, так как есть несколько постов в блоге и ссылки на github. Я просто не вижу, что я делаю не так. Я могу исправить это в веб-пакете, предоставив псевдоним configuraton, но, поскольку в angular cli нет webpack.config.js
, я не могу этого сделать.