代码之家  ›  专栏  ›  技术社区  ›  Pedro Arantes

尝试从AWS AppSync库修复“找不到模块的声明文件”会导致另一个错误

  •  1
  • Pedro Arantes  · 技术社区  · 6 年前

    我在用 aws-appsync 图书馆和我得到这个错误:

    (4,42):找不到模块“@redux offline/redux offline/lib/types”的声明文件。node_modules/aws-appsync/node_modules/@redux-offline/redux-offline/lib/types.js'隐式具有“any”类型。 尝试 npm install @types/redux-offline__redux-offline 如果它存在或添加一个新的声明(.d.ts)文件,其中包含 declare module '@redux-offline/redux-offline/lib/types';

    然后我补充说 declare module @redux-offline/redux-offline/lib/types; 给我的 typings.d.ts 检查错误是否消失,但我还有其他错误:

    /节点模块/aws appsync/lib/store.d.ts (13,69):不能将命名空间“networkcallback”用作类型。

    现在我不知道如何修复最后一个错误,因为我在互联网上找不到关于它的许多信息。

    我不知道这是否重要,但是 packages/web/node_modules/@redux-offline/redux-offline/lib/types.js 是一个只有 "use strict"; 线。

    有效的解决方案是 noImplicitAny: false 但是我读过,这不是个好消息。

    谢谢您!

    1 回复  |  直到 6 年前
        1
  •  1
  •   Pedro Arantes    6 年前

    所以我打开文件 /node_modules/aws-appsync/lib/store.d.ts 有两种类型是从 @redux-offline/redux-offline/lib/types :

    import { NetInfo, NetworkCallback } from '@redux-offline/redux-offline/lib/types';
    

    然后在 typings.d.ts 我只是补充说:

    declare module '@redux-offline/redux-offline/lib/types' {
      export type NetInfo = any;
      export type NetworkCallback = any;
    }
    

    问题解决了。