reactjs 如何在create react应用中进行应用版本控制?

cgvd09ve  于 2023-02-08  发布在  React
关注(0)|答案(5)|浏览(179)

我需要在页脚中以x.y.z格式显示react应用的版本
我需要此版本在每次部署应用程序时递增,方法是为我提供一个选择,如果我想递增xyz
我该如何做到这一点?:)

w6mmgewl

w6mmgewl1#

要提升应用的版本,您可以使用npm version
例如:

npm version minor
dvtswwa3

dvtswwa32#

一旦你有办法在package.json中升级版本(例如npm version,如@bertrand-p所建议的),你就可以把版本赋给一个环境变量。

REACT_APP_VERSION=$npm_package_version

然后,您可以通过process.env.REACT_APP_VERSION从应用内访问该变量。
另见:https://github.com/facebook/create-react-app/issues/2466#issuecomment-357490359

xtfmy6hx

xtfmy6hx3#

我不认为@Bertrand P或@VulfCompressor给出的答案能说明全部情况。我使用的是genversion https://www.npmjs.com/package/genversion。我所做的步骤是:

  1. npm install genversion --save-dev
    1.将package.json中的构建脚本修改为genversion --es6 src/autobuild_version.js && react-scripts build(我不知道如何按照genversion文档中的建议从lib目录导入生成的模块,所以我不得不将其放在src目录中)
    1.在React应用程序中,import { version } from './autobuild_version'并根据需要使用
    1.将src/autobuild_version.js添加到.gitignore(其他源代码控制工具可用)
  2. npm run build
cnjp1d6j

cnjp1d6j4#

你可以使用grunt-bump来处理你的应用版本控制。至于显示你的应用版本,请参考Is there a way to get version from package.json in nodejs code?

sycxhyv7

sycxhyv75#

您可以在下面提到的不同条件下使用下面的npm命令,这些命令将影响react项目中package.json中的版本号。您可以通过npm i dotenvyarn add dotenv安装dotenv来访问该版本,并使用根文件夹中的.env文件,通过REACT_APP_VERSION=$npm_package_version访问整个应用中的版本号。您可以在npm version documentary页面找到更多命令。以下命令将添加到版本号,如下所示:"version":"{major}.{minor}.{patch}"
如果这是应用程序中的重大更改(错误修复),请用途:

npm version major

如果这是应用中的微小更改(错误修复),请用途:

npm version minor

如果只是补丁升级,如改变一些风格用途:

npm version patch

您可以将版本控制用于许多目的,其中之一是确保客户端的缓存将被更新,并且它们将具有更新的内容。

相关问题