如何在创建反应应用程序中进行应用程序版本控制?

Posted

技术标签:

【中文标题】如何在创建反应应用程序中进行应用程序版本控制?【英文标题】:How to do app versioning in create react app? 【发布时间】:2020-05-15 14:55:03 【问题描述】:

我需要在页脚中以 x.y.z 格式显示我的 react 应用的 version

每次部署应用程序时,我都需要增加这个版本,如果我想增加 xyz.

我如何实现这一目标? :)

【问题讨论】:

【参考方案1】:

要升级您的应用版本,您可以使用npm version。

例如:

npm version minor

【讨论】:

这是解决方案的一部分,但没有说明如何显示它【参考方案2】:

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

    npm install genversion --save-devpackage.json 中的构建脚本修改为genversion --es6 src/autobuild_version.js && react-scripts build(我无法按照genversion 文档中的建议从lib 目录中导入生成的模块,所以我不得不将它放在@ 987654326@ 目录) 在 React 应用中,import version from './autobuild_version' 并酌情使用 将src/autobuild_version.js添加到.gitignore(其他源代码控制工具可用) npm run build

【讨论】:

【参考方案3】:

一旦你有办法提升 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

【讨论】:

【参考方案4】:

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

【讨论】:

create react app 不是 nodejs 代码 - 它是客户端的 javascript 代码,并且该问题的公认答案在客户端执行是危险的。

以上是关于如何在创建反应应用程序中进行应用程序版本控制?的主要内容,如果未能解决你的问题,请参考以下文章

如何在反应原生 ios 应用程序中更新应用程序版本?

如何对性能计数器类别进行版本控制?

尽管所有反应路由器版本冲突,如何在反应中进行服务器端渲染?

使用 Spring Cloud Config 进行属性版本控制

如何在 AWS 部署中使用特定节点版本进行纱线设置?

我无法使用 npx 创建反应应用程序