Ошибка сборки файлов .js с помощью ng build on lib

У меня есть приложение, которое я пытаюсь преобразовать для использования 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/**/*",
    ]
}

person Oam Psy    schedule 05.08.2019    source источник
comment
Можете выложить свой tsconfig?   -  person Robert garcia    schedule 05.08.2019
comment
@Robertgarcia - обновлены оба файла tsconfig.   -  person Oam Psy    schedule 05.08.2019
comment
Попробуйте с allowJs: true в вашем tsconfig   -  person Robert garcia    schedule 05.08.2019
comment
В tsconfig или tsconfig.lib?   -  person Oam Psy    schedule 05.08.2019
comment
Tsconfig, tsconfig.lib расширяет tsconfig   -  person Robert garcia    schedule 05.08.2019
comment
Ошибка TS5053: параметр «allowJs» не может быть указан с параметром «декларация»   -  person Oam Psy    schedule 05.08.2019
comment
Ваш файл должен что-то разрешить во время компиляции?   -  person Robert garcia    schedule 05.08.2019


Ответы (1)


connect/setup.js должен быть:

export function setup(p1, p2, p3) {
// Some code
}


function method12(p1, p2, p3) {
// Some code
}
person Aux    schedule 05.08.2019
comment
Спасибо, однако, похоже, возникает та же проблема. - person Oam Psy; 05.08.2019
comment
Это ядро/соединение/настройка, соединение/настройка или ядро/настройка? Я вижу все три версии в вашем вопросе. - person Aux; 08.08.2019