当前位置:  开发笔记 > 编程语言 > 正文

如何创建一个"外部模块"打字稿定义文件以包含一个npm包?

如何解决《如何创建一个"外部模块"打字稿定义文件以包含一个npm包?》经验,为你挑选了0个好方法。

我最近为开源redux-ui-router库添加了一个打字稿定义文件,但是我现在收到的错误类似于下面的Typescript 1.7.3:

错误TS2656:导出的外部包类型文件'C:/.../ node_modules/redux-ui-router/index.d.ts'不是模块.请与软件包作者联系以更新软件包定义.

我试图在我的打字稿文件中使用这样的代码导入这个库:

import ngReduxUiRouter from "redux-ui-router";

我是Typescript的新手,我找不到这个定义文件在npm包中包含时应该是什么样子的清晰描述.有一个wiki条目讨论npm包的类型,但除了重复应该使用外部模块的方向之外,没有一个具体的例子可以使用.

更正 我已经尝试删除declare module "redux-ui-router" {代码,这似乎在重新启动webpack后工作,我正在使用它来编译所有内容(为简洁起见,我删除了注释):

export interface ReduxUIRouterAction {
    type: string;
    payload: any;
}
export interface ReduxUIRouterState {
    currentState: Object;
    currentParams: Object;
    prevState: Object;
    prevParams: Object;
}
export function router(state: ReduxUIRouterState, action: ReduxUIRouterAction): ReduxUIRouterState;
export var ngReduxUiRouter: string;
export function stateGo(to: string, params?: Object, options?: Object): ReduxUIRouterAction;
export function stateReload(state: any): ReduxUIRouterAction;
export function stateTransitionTo(to: string, params?: Object, options?: Object): ReduxUIRouterAction;
export default ngReduxUiRouter;

在npm包中包含它时,这组更改会是什么?

推荐阅读
低调pasta_730
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有