如何在创建反应应用程序中进行应用程序版本控制?
How to do app versioning in create react app?
我需要在页脚中以 x.y.z 格式显示我的 React 应用程序的 版本。
如果我想增加 x 或 y,我需要在每次部署应用程序时增加此版本,并提供选择或 z.
我该如何实现? :)
您可以使用 grunt-bump to handle your app versioning. As for displaying your app version, refer to Is there a way to get version from package.json in nodejs code?。
要升级您的应用程序,您可以使用 npm version。
例如:
npm version minor
我认为@Bertrand P 或@VulfCompressor 的回答并不能说明全部情况。我使用了 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
一旦你有办法在 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
我需要在页脚中以 x.y.z 格式显示我的 React 应用程序的 版本。
如果我想增加 x 或 y,我需要在每次部署应用程序时增加此版本,并提供选择或 z.
我该如何实现? :)
您可以使用 grunt-bump to handle your app versioning. As for displaying your app version, refer to Is there a way to get version from package.json in nodejs code?。
要升级您的应用程序,您可以使用 npm version。
例如:
npm version minor
我认为@Bertrand P 或@VulfCompressor 的回答并不能说明全部情况。我使用了 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
一旦你有办法在 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