我需要在页脚以 x.y.z 格式显示我的react应用的版本。
我需要每次部署应用时,提供选择是否增加 x 或 y 或 z 来使版本号递增。
如何实现这个目标? :)
我需要在页脚以 x.y.z 格式显示我的react应用的版本。
我需要每次部署应用时,提供选择是否增加 x 或 y 或 z 来使版本号递增。
如何实现这个目标? :)
一旦你有了在 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
yarn
中工作。使用 REACT_APP_VERSION=$npm_package_version
在 yarn
中可以吗? - Sanka SanjeewaREACT_APP_VERSION=$(git rev-parse HEAD) npm run build
。 - undefined我认为@Bertrand P和@VulfCompressor的回答没有完整地解释问题。 我使用了genversionhttps://www.npmjs.com/package/genversion。 我所做的步骤如下:
npm install genversion --save-dev
package.json
中的构建脚本为 genversion --es6 src/autobuild_version.js && react-scripts build
(我找不到一种方法来导入生成的模块,并将其放在建议的lib
目录中,所以我必须将其放在src
目录中)import { version } from './autobuild_version'
并根据需要使用src/autobuild_version.js
添加到.gitignore
(其他源代码控制工具也可以)npm run build
您可以在不同的情况下使用以下npm命令,这些命令将影响您的React项目中package.json文件中的版本号。您可以通过安装dotenv(npm i dotenv
或yarn add dotenv
)并在根目录中使用.env文件,在整个应用程序中访问版本号REACT_APP_VERSION=$npm_package_version
。您可以在npm version documentation页面找到更多命令。以下命令将添加到版本号中,例如:"version":"{major}.{minor}.{patch}"
如果是您的应用程序中的重大更改(修复错误),请使用:
npm version major
npm version minor
如果只是补丁升级,例如更改一些样式,请使用:
npm version patch
你可以使用版本控制来实现许多目的,其中之一是确保客户端缓存得到更新并获得最新的内容。
您可以使用grunt-bump来处理您的应用程序版本控制。至于显示您的应用程序版本,请参考有没有一种方法可以从nodejs代码中获取package.json的版本?。