我最近为开源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包中包含它时,这组更改会是什么?