Задача
Я создал угловое рабочее место, которое содержит одно приложение и библиотеку. После включения IVY я получил ошибку при сборке библиотеки. Но он работает нормально, если я установил enableIvy в false.
Код
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"typeRoots": ["node_modules/@types"],
"lib": ["es2018", "dom"],
"paths": {
"cxi-library": ["dist/cxi-library"],
"cxi-library/*": ["dist/cxi-library/*"]
}
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"enableIvy": true
}
}
часть angular.json
"cxi-library": {
"projectType": "library",
"root": "projects/cxi-library",
"sourceRoot": "projects/cxi-library/src",
"prefix": "lib",
"architect": {
"build": {
"builder": "@angular-devkit/build-ng-packagr:build",
"options": {
"tsConfig": "projects/cxi-library/tsconfig.lib.json",
"project": "projects/cxi-library/ng-package.json"
}
},
"test": {
"builder": "@angular-devkit/build-angular:karma",
"options": {
"main": "projects/cxi-library/src/test.ts",
"tsConfig": "projects/cxi-library/tsconfig.spec.json",
"karmaConfig": "projects/cxi-library/karma.conf.js"
}
},
"lint": {
"builder": "@angular-devkit/build-angular:tslint",
"options": {
"tsConfig": [
"projects/cxi-library/tsconfig.lib.json",
"projects/cxi-library/tsconfig.spec.json"
],
"exclude": ["**/node_modules/**"]
}
}
}
}
попытался запустить ng build cxi-library ошибка получена как показано ниже:
** Не рекомендуется публиковать библиотеки Ivy в репозитории NPM **
Построение точки входа 'cxi-library '
Компиляция источников TypeScript через ngc ОШИБКА: ENOENT: нет такого файла или каталога, scandir' C: /cxi.registry.ui/cxi.registry.ui/C: / cxi. registry.ui / cxi.registry.ui / dist / cxi-library / cxi-library.d.ts 'Произошло необработанное исключение: ENOENT: нет такого файла или каталога, scandir' C: /cxi.registry.ui/cxi. registry.ui / C: /cxi.registry.ui/cxi.registry.ui/dist/cxi-library/cxi-library.d.ts 'См. "C: \ Users \ JUNXIL ~ 1.FOX \ AppData \ Local \Temp \ ng-tIrBUR \ angular-errors.log "для получения дополнительной информации.