У меня есть приложение, которое я пытаюсь преобразовать для использования angular cli (v7). Приложение в рабочем состоянии.
Приложение состоит из 2-х сайтов и общей библиотеки:
- ui-site-1
- ui-site-2
- ui-lib
Я использую ng build для сборки и упаковки UI-lib, но на этапе FESM2015 есть ошибки, указывающие на public_api.ts:
public_api.ts:
// Lots of exports...
export { setup } from './core/connect/setup'; <-- Falls over if including this.
подключить /setup.js
function setup(p1, p2, p3) {
// Some code
}
function method12(p1, p2, p3) {
// Some code
}
export { setup };
Ошибка:
Could no resolve './setup' from ui-lib/dist/esm2015/core/setup.js
Примечание. Если я конвертирую файл в .ts, сборка ng работает нормально, и создается папка dist. Однако в setup.js я загружаю ряд других файлов .js, поэтому преобразование всех этих файлов в .ts и решение проблем с типом сейчас не вариант.
Обновлять:
tsconfig.json
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"target": "es5",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2017",
"dom"
],
"paths": {
"my-lib": [
"dist/my-lib"
],
"my-lib/*": [
"dist/my-lib/*"
]
}
}
}
tsconfig.lib.json:
{
"extends": "../tsconfig.json",
"compilerOptions": {
"outDir": "../../out-tsc/lib",
"target": "es2015",
"module": "es2015",
"moduleResolution": "node",
"declaration": true,
"sourceMap": true,
"inlineSources": true,
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"importHelpers": true,
"types": []
},
"angularCompilerOptions": {
"annotateForClosureCompiler": false,
"skipTemplateCodegen": true,
"strictMetadataEmit": false,
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true,
"enableResourceInlining": true
},
"exclude": [
"src/test.ts",
"**/*.spec.ts"
],
"include": [
"src/**/*",
"./src/**/*",
]
}