Я создал пакет с модулем вне папки с приложением, которое должно содержать модуль для его проверки. Затем я добавил пакет с npm link @scope/module-name
. После этого я добавил пути к корню tsconfig.json
.
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"module": "es2015",
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"paths": {
"@scope/module-name": [
"node_modules/@scope/module-name"
],
"@scope/module-name/*": [
"node_modules/@scope/module-name/*"
]
}
}
}
Я также добавил пакет к include
в tsconfig.app.json
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../out-tsc/app",
"types": []
},
"include": [
"**/*.ts",
"../node_modules/@scope/**/*.ts",
],
"exclude": [
"test.ts",
"**/*.spec.ts"
]
}
И да, я добавил "preserveSymlinks": true
в angular.json
, как сказано впохожие вопросы по СО.
В app.module.ts
я делаю
import { DispRegistryModule } from "@scope/module-name/public_api.d.ts";
Но все равно я получаю ошибку
ОШИБКА в ./node_modules/@scope/module-name / public_api.d.ts Ошибка сборки модуля (из ./node_modules/@ngtools/webpack/src/index.js): Ошибка: D: \ internal \ test-app \ node_modules @ scope \ module-name \ public_api. d.ts отсутствует в компиляции TypeScript. Пожалуйста, убедитесь, что он находится в вашем tsconfig через свойство 'files' или 'include'.
Как я могу исправить ошибку?