首页 > 解决方案 > 如何为 dev vs prod @ionic/app-scripts 设置动态环境变量?

问题描述

我是 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 标志的脚本来设置该变量的变量?先感谢您。我真的很喜欢这个社区。

标签: ionic-frameworkionic3

解决方案


你几乎是正确的。通常,我做事的方式是在我的脚本配置中定义一个项目,例如"ionic:build:prod" : "BASE_URL=myurl ionic-app-scripts build --prod. 这样你就可以用一个简单的命令来运行整个事情(npm run ionic:build:prod


推荐阅读