我使用了this solution,但它不适合我。
我的React应用程序(18.2.0v)是用CRA(5.0.1v)初始化的。我的 dotenv 版本是16.0.3。
在开发版本上,我成功获得了 package.json 文件版本,但在构建版本上,我无法获得它。
我的.env.staging
文件:
NODE_ENV=development
REACT_APP_VERSION=$npm_package_version
我的package.json
脚本:
{
...
"version": "0.1.0",
...
"scripts":
{
...
"start": "react-scripts start",
...
"build:staging": "npm run clean && env-cmd -f .env.staging react-scripts build",
...
}
...
}
My Login.tsx显示版本如下:
...
const { REACT_APP_VERSION } = process.env;
...
return (
...
<h1>V{REACT_APP_VERSION}</h1>
...
)
...
Dev mode display print
Build mode display print
我有一个.env.development
,其内容与上面引用的当前.env.staging
相同,将用于另一个构建版本。
有人知道如何解决这个问题吗?
1条答案
按热度按时间yr9zkbsy1#
我安装了 dotenv-cli 并将package.json build:staging 脚本更改为
"npm run clean && dotenv -e .env.staging react-scripts build"
,从而解决了这个问题