我需要在页脚中以x.y.z格式显示我的 react 应用程序的版本。
每次部署应用程序时,我都需要通过提供是否要递增x 或 y或z的选项来递增此版本。
我如何实现这一点?:)
要提高应用程序的版本,您可以使用 npm 版本。
例如:
npm version minor
一旦你有办法在package.json中提升版本(例如npm version
,如 @bertrand-p 所示(,您可以将版本分配给环境变量。 例如,在.env
中,您可以设置:
REACT_APP_VERSION=$npm_package_version
然后,您可以通过process.env.REACT_APP_VERSION
从应用程序内访问变量。
另请参阅:https://github.com/facebook/create-react-app/issues/2466#issuecomment-357490359
我不认为P或@VulfCompressor@Bertrand答案可以说明全部情况。我使用了 genversion https://www.npmjs.com/package/genversion。我所做的步骤是:
npm install genversion --save-dev
- 将
package.json
中的构建脚本修改为genversion --es6 src/autobuild_version.js && react-scripts build
(我无法找到按照 genversion 文档中的建议从lib
目录中导入生成的模块的方法,所以我不得不将其放在src
目录中( - 在 React 应用程序中,根据需要
import { version } from './autobuild_version'
和使用 - 将
src/autobuild_version.js
添加到.gitignore
(其他源代码控制工具可用( npm run build
您可以在下面提到的不同条件下使用下面的 npm 命令,这些命令将影响 react 项目中 package.json 中的版本号。 您可以通过npm i dotenv
或yarn add dotenv
安装 dotenv 来访问该版本,并使用根文件夹中的 .env 文件并使用REACT_APP_VERSION=$npm_package_version
访问整个应用程序中的版本号。您可以在 npm 版本文档页面找到更多命令。以下命令将添加到版本号中,如下所示:"version":"{major}.{minor}.{patch}"
如果这是应用中的重大更改(错误修复(,请使用:
npm version major
如果这是应用中的微小更改(错误修复(,请使用:
npm version minor
如果只是补丁升级,例如更改某些样式,请使用:
npm version patch
您可以将版本控制用于多种目的,其中之一是确保客户端的缓存将被更新并且它们将具有更新的内容。
您可以使用 grunt-bump 来处理您的应用程序版本控制。至于显示您的应用程序版本,请参阅 有没有办法在 nodejs 代码中从 package.json 获取版本?。