Typescript版本创建了错误的导入路径

问题描述 投票:0回答:1

当我运行tsc.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;
};

}

我可以向tsc编译器添加tsconfig或其他提示吗?

typescript tsc
1个回答
0
投票

我肯定会将tsconfig.json文件夹添加到您的项目根目录。并配置以下内容:

{
    "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文件中编写这些导入内容?

© www.soinside.com 2019 - 2024. All rights reserved.