首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当Typescript定义跨多个文件拆分时,使用插件修改模块

当Typescript定义跨多个文件拆分时,使用插件修改模块
EN

Stack Overflow用户
提问于 2017-04-07 19:24:08
回答 1查看 146关注 0票数 0

在Typescript 2.2中,我试图定义一个具有各种插件选项的模块(HapiJS)。

我将核心代码重构为多个.d.ts文件,然后使用以下模式(as seen here)从index.d.ts导入和重新导出它们:

代码语言:javascript
代码运行次数:0
运行
复制
export * from './hapi/connection';
export * from './hapi/reply';
export * from './hapi/request';
export * from './hapi/response';
export * from './hapi/route';
export * from './hapi/server_views';
export * from './hapi/server';

在一个单独的模块中,它扩展了它们的as seen here

代码语言:javascript
代码运行次数:0
运行
复制
import * as hapi from 'hapi';

declare module 'hapi' {
    interface IFileHandler {
        /** path - a path string or function as described above (required). */
        path: string | IRequestHandler<string>;
        ...
    }

    // Extending hapi core:
    interface IRouteConfiguration {
        file?: string | IRequestHandler<string> | IFileHandler;

但是,当我这样做时,上面所有对IRequestHandler的引用都会出现错误:“找不到名称‘IRequestHandler.’”。如果所有的hapi代码都被移回到一个巨大的index.d.ts中,那么它就会像预期的那样工作。有没有办法使用多个hapi定义文件来实现这一点?

EN

回答 1

Stack Overflow用户

发布于 2017-05-10 22:44:01

我还没有尝试过,但也许可以使用下面这样的东西(尽管我怀疑interface hapi.IRouteConfiguration {是否可以接受):

代码语言:javascript
代码运行次数:0
运行
复制
import * as hapi from 'hapi';

declare module 'hapi' {
    interface IFileHandler {
        /** path - a path string or function as described above (required). */
        path: string | hapi.IRequestHandler<string>;
        ...
    }

    // Extending hapi core:
    interface hapi.IRouteConfiguration {
        file?: string | hapi.IRequestHandler<string> | IFileHandler;';

也可以从hapi/server导入,或者任何需要的部分。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43276921

复制
相关文章

相似问题

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