如何在TypeScript的单个声明文件中增加多个模块?

时间:2019-01-16 06:48:46

标签: typescript

我注意到模块扩充的行为非常奇怪。我的def exec_task(request): if request.method == 'POST': task = request.POST.get('select_task') print(task) getattr(tasks, task)(0) return redirect('management') 文件夹中有一个agument.d.ts文件,即src。在此文件中,我将为Webpack <ROOT>/src/augment.d.ts创建一个模块,并且还将扩展现有的raw-loader模块。代码如下:

hapi

在我的import { Server } from 'hapi'; declare module '*.view.html' { const contents: string; export default contents; } declare module 'hapi' { interface Server { x: string; } } 文件中,我使用的是tsconfig.json的默认值。并且我的typeRoots设置为include

问题是-我注意到["src/**/*.ts"]的模块增强有效,而hapi则无效;编译器不断对与*.view.html文件关联的所有导入抛出错误。

但是,奇怪的行为是当我将html的定义移动到其他文件(即-*.view.html)时,它可以正常工作。

这是预期的行为吗?每个声明文件是否应该只有一个模块扩充?我不知道的任何规则!!!

1 个答案:

答案 0 :(得分:0)

尝试在模块声明中移动import

declare module '*.view.html' {
    const contents: string;
    export default contents;
}

declare module 'hapi' {
    import { Server } from 'hapi';
    interface Server {
        x: string;
    }
}