如何为 dev vs prod @ionic/app-scripts 设置动态环境变量?
Posted
技术标签:
【中文标题】如何为 dev vs prod @ionic/app-scripts 设置动态环境变量?【英文标题】:How can I set a dynamic env variable for dev vs prod @ionic/app-scripts? 【发布时间】:2018-09-14 16:14:08 【问题描述】:我在 ionic/webpack 构建过程中完全是个菜鸟,但是对于这个任务,我特意指的是这个:https://github.com/ionic-team/ionic-app-scripts#environments。我不太明白“如果变量存在于流程环境中,它将被替换为该值”是什么意思。
我的 package.json 中的脚本如下:
"scripts":
"clean": "ionic-app-scripts clean",
"build": "ionic-app-scripts build --dev",
"build:after": "",
"ionic:build": "ionic-app-scripts build",
"ionic:serve": "ionic-app-scripts serve"
据我了解,我应该能够在代码中的任何位置设置一个环境变量,例如 process.env.BASE_URL,根据构建的不同,它可能是不同的值。
我的问题是如何构建我的脚本以在我的流程环境中设置该变量?只是将“build”脚本设置为“BASE_URL=myurl ionic-app-scripts build --dev”吗?如果真的那么容易,那么我将如何访问 --prod 标志的脚本来设置该变量的变量? 先感谢您。我真的很喜欢这个社区。p>
【问题讨论】:
【参考方案1】:你几乎是正确的。通常,我做事的方式是在我的脚本配置中定义一个项目,例如"ionic:build:prod" : "BASE_URL=myurl ionic-app-scripts build --prod
。这样你就可以用一个简单的命令来运行整个事情(npm run ionic:build:prod
)
【讨论】:
以上是关于如何为 dev vs prod @ionic/app-scripts 设置动态环境变量?的主要内容,如果未能解决你的问题,请参考以下文章
Azure Pipelines 如何为“仅限手动”触发的版本筛选每个阶段的工件