Сборка Typescript создает неправильный путь импорта - PullRequest
0 голосов
/ 20 марта 2020

Когда я запускаю ts c .exe, я получаю пути импорта, которые указывают на исходную папку.

Файлы в dist / typescript- angular создаются swagger-codegen с целевым языком typescript- angular.

tsc -d --types node --target es5 --moduleResolution node --sourceMap true  --experimentalDecorators  --rootDir dist/typescript-angular/fes_wecare_appointment/model/ --outDir dist/node-models/fes_wecare_appointment/ dist/typescript-angular/fes_wecare_appointment/model/*.ts 

В итоге получается импорт из исходной папки

export declare namespace WecareNewAppointment {
type AppointmentTypeEnum = 'video' | 'audio' | 'chat';
const AppointmentTypeEnum: {
    Video: import("../../../../../../../../../Users/x/projects/x/y/dist/typescript-angular/fes_wecare_appointment/model/slot").Slot.SlotTypeEnum;
    Audio: import("../../../../../../../../../Users/x/projects/x/y/dist/typescript-angular/fes_wecare_appointment/model/slot").Slot.SlotTypeEnum;
    Chat: import("../../../../../../../../../Users/x/projects/x/y/dist/typescript-angular/fes_wecare_appointment/model/slot").Slot.SlotTypeEnum;
};

}

нет необходимости указывать тип слота в исходная папка. Вот как это должно выглядеть.

export declare namespace WecareNewAppointment {
type AppointmentTypeEnum = 'video' | 'audio' | 'chat';
const AppointmentTypeEnum: {
    Video: import("./slot").Slot.SlotTypeEnum;
    Audio: import("./slot").Slot.SlotTypeEnum;
    Chat: import("./slot").Slot.SlotTypeEnum;
};

}

Могу ли я добавить tsconfig или другие подсказки к компилятору ts c?

1 Ответ

0 голосов
/ 20 марта 2020

я бы определенно добавил папку tsconfig. json в ваш проект root. и сконфигурируйте следующее:

{
    "include": [
        "dist/typescript-angular/fes_wecare_appointment/model/*.ts"
    ],
    "compilerOptions": {
        "types": ["node"],
        "outDir": "dist/node-models/fes_wecare_appointment/",
        "rootDir": "dist/typescript-angular/fes_wecare_appointment/model/",
        "declaration": true,
        "sourceMap": true,
        "experimentalDecorators": true,
        "moduleResolution": "node",
        "target": "es5"
    }
}

затем вы просто запустите tsc

, это немного разъяснит, что вы пытаетесь сделать. и кажется, что ваш конфиг немного запутан, так как включенные файлы ts и вывод js находятся в одной и той же директории dist. и неясно, чего достигает опция rootDir? Вы действительно хотите baseUrl?

Кроме того, как вы изначально записываете эти импортные файлы в свои файлы TS?

...