【问题标题】:Which React TypeScript version to use in development?在开发中使用哪个 React TypeScript 版本?
【发布时间】:2021-01-26 05:56:21
【问题描述】:

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

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

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

我还想知道是否需要在 "devDependencies""dependencies" 中都使用 "@types/react-redux" 而不是在 "react-redux" 中使用?

【问题讨论】:

    标签: javascript reactjs typescript redux


    【解决方案1】:

    @types 包与对应的原始包的版本不同是很常见的。只需使用两者的最新版本就可以了,因为@types 包只包含类型定义,没有运行时代码。

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

    更新:

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

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

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

    【讨论】:

    • 感谢您的回复!您能否详细说明为什么 dependencydevDependency 无关紧要?确实,我正在构建和捆绑我的代码作为 webpack。我假设我会在使用npm start 时使用dependencies 而不是devDependencies 运行代码。
    • 非常感谢!
    猜你喜欢
    • 1970-01-01
    • 2020-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-07
    • 2012-03-22
    • 1970-01-01
    相关资源
    最近更新 更多