首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Typescript tsc --声明

Typescript tsc --声明
EN

Stack Overflow用户
提问于 2018-04-30 22:45:32
回答 1查看 3.3K关注 0票数 3

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

声明模块"mymodule“{... }

这对于"vscode“来说不是问题,但"tslint”似乎遇到了麻烦,并警告我“不安全地使用类型为‘any’的表达式”。例如文件"test.ts“:

代码语言:javascript
复制
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);
    });
}

将生成

代码语言:javascript
复制
export declare function delay(timeout: number): Promise<boolean>;

但我需要:

代码语言:javascript
复制
declare module "mymodule"
{
export declare function delay(timeout: number): Promise<boolean>;
}

如何在生成的.d.ts顶部添加'declare module "mymodule"{……}‘?或者如何让tslint在没有这个声明的情况下工作?

EN

回答 1

Stack Overflow用户

发布于 2018-05-01 05:21:14

您需要指定--module system--out才能获得您要查找的输出:

假设您的文件在"mymodule.ts“文件中,下面的命令

代码语言:javascript
复制
tsc mymodule.ts --lib 'es6' --declaration -t es6 -module system -out mymodule.js

将生成:

代码语言:javascript
复制
declare module "mymodule" {
    export function delay(timeout: number): Promise<boolean>;
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50102913

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档