gpt4 book ai didi

typescript tsc --声明

转载 作者:搜寻专家 更新时间:2023-10-30 21:48:35 25 4
gpt4 key购买 nike

当我使用 tsc --declaration 或 tsconfig.json 声明为 true 生成我的定义文件“.d.ts”时,生成的文件不包括

声明模块“我的模块”{...

这对“vscode”来说不是问题,但“tslint”似乎有问题并警告我“不安全地使用'any'类型的表达式。”例如文件“test.ts”:

type PromiseResolve<T> = (value?: T | PromiseLike<T> | undefined) => void;


export async function delay(timeout: number): Promise<boolean> {
return new Promise((resolve: PromiseResolve<boolean>): void => {
setTimeout(() => { resolve(true); }, timeout);
});
}

会生成

export declare function delay(timeout: number): Promise<boolean>;

但我需要:

declare module "mymodule"
{
export declare function delay(timeout: number): Promise<boolean>;
}

如何在生成的 .d.ts 顶部获取“声明模块“mymodule”{……}”?或者如何在没有此声明的情况下使 tslint 工作?

最佳答案

您需要指定 --module system--out 以获得您正在寻找的输出:

鉴于您的文件在文件“mymodule.ts”中,以下命令

tsc mymodule.ts --lib 'es6' --declaration -t es6 -module system -out mymodule.js

将生成:

declare module "mymodule" {
export function delay(timeout: number): Promise<boolean>;
}

关于 typescript tsc --声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50102913/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com