当我使用tsc --声明或tsconfig.json声明true生成定义文件".d.ts“时,生成的文件不包含
声明模块"mymodule“{... }
这对于"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顶部添加'declare module "mymodule"{……}‘?或者如何让tslint在没有这个声明的情况下工作?
发布于 2018-05-01 05:21:14
您需要指定--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>;
}https://stackoverflow.com/questions/50102913
复制相似问题