@Types 没有使用正确的模块(Typescript、http-proxy-middleware、webpack、react)

@Types is not using the correct module (Typescript, http-proxy-middleware, webpack, react)

我正在尝试使用与 this repo 类似的设置来尝试使用 React 和 Express 创建全栈打字稿应用程序。

repo 使用类似 nodemon 的 tsc-watch 来监视服务器文件,然后 webpack-dev-server 在端口 8085 托管 react 静态文件。同时服务器,运行 在 3000 ,通过将所有静态请求代理到 8085 处的 /statics 来呈现 React 应用程序。

当我克隆存储库时,一切正常。然而,在我自己的回购协议中(我正在尝试学习如何进行类似的配置,服务器不断抛出这个错误:

node_modules/@types/webpack-dev-server/index.d.ts

然后:

node_modules/http-proxy-middleware/dist/index"' has no exported member 'Config'.

当我进入 node_modules 时,我可以看到 @types/webpack-dev-server 期待来自 http-proxy-middleware 的配置。在@types/http-proxy-middleware中有一个接口叫Config。但是在正常的http-proxy-middleware节点模块文件夹中,并没有,这就是导致错误的原因。

我的问题是如何让@types/webpack-dev-server 使用@types/http-proxy-middleware,而不仅仅是 node_modules/http-proxy-middleware?还是我完全错过了其他东西?

如果需要,我可以post编码。

以下是一些可能有帮助的事实:

  • statics-router.tsis using http-proxy-middleware, version "^1.0.3"
  • webpack-dev-server 依赖于版本 "0.19.1"
  • http-proxy-middleware 上的 Config 已在版本 1 中删除。
  • 版本 1 的类型定义是 http-proxy-middleware 本身的一部分(而不是像以前那样在 @types 下)
  • 如果您查看 /node_modules/@types/webpack-dev-server/package.json,您会发现 dependencies 上有:"@types/http-proxy-middleware": "*"。请注意,它依赖于 @types 版本的 .d.ts

看起来打字稿首先在 node_modules/LIBRARY 下搜索类型定义,然后在 @types 下搜索,因此它“找到”版本 1 的 .d.ts,而不是版本 0.19.1 喜欢 webpack-dev-server 需要

要解决这个问题只需添加: "skipLibCheck": true, 到共享 tsconfig.json