首页 > 解决方案 > 在开发中使用哪个 React TypeScript 版本?

问题描述

我有一个现有的 TypeScript React 项目,该项目是在 React 中存在 Hooks 之前创建的,我正在尝试使用 Hooks 重写所有类。

因此,在我的 中package.json "devDependencies",我将typescriptreact 的版本从更改7.0.6@types/react-redux": "7.1.16"。我会想象我想要完全相同版本的 react in "dependencies",但似乎没有7.1.16for react-redux,只有7.1and 7.2。我选择了7.2它似乎有效。

"react-redux"更广泛地说,我想知道如果我在开发和生产依赖项之间使用不同版本的版本,我如何确定不会出现版本控制问题?

我还想知道我是否需要同时使用"@types/react-redux""devDependencies"不是"dependencies"just "react-redux"

标签: javascriptreactjstypescriptredux

解决方案


@types软件包与相应的原始软件包的版本不同是很常见的。只需使用两者的最新版本,你通常会很好,因为@types包只包含类型定义而没有运行时代码。

由于您可能无论如何都在构建和捆绑结果,因此某个东西是依赖项还是 devDependency 并不重要,这种区别主要是一种组织上的区别,没有任何现实生活后果。

更新:

这里有两种不同的场景,其中 devDependencies 发挥作用:

  • 你写一个库。在这种情况下,对于安装所述库的人,只会dependencies安装,对于检查您的源并运行的人npm install,两者都将是。
  • 您有一个环境来运行您的代码并使用npm install --production. 在这种情况下,devDependencies将不会安装。

由于您正在构建一个反应应用程序,因此您很可能只运行过npm install- 并且安装了依赖项和 devDependencies。由于在这种情况下两者都安装在硬盘驱动器上的同一文件夹中,因此从那时起无法区分哪个是哪个,因此npm start只会npm run dev使用当前安装的软件包。


推荐阅读