如果环境变量丢失,则触发React构建失败错误



如果缺少任何环境变量,是否有任何方法使yarn build步骤失败。在位桶管道脚本中,即使在存储库变量下没有设置env变量,也会执行构建过程。

是的,使用React应用程序中的方法可以实现这一点。在根目录中创建一个名为validate-env.js的JS文件,并在其中添加以下内容(我在应用程序中只使用这些env变量-根据您的更改它们(

require('dotenv').config();
if (!process.env.REACT_APP_WEB_SOCKET_URL) {
throw 'REACT_APP_WEB_SOCKET_URL undefined';
} else if (!process.env.REACT_APP_API_URL_PROD) {
throw 'REACT_APP_API_URL_PROD undefined';
} else if (!process.env.REACT_APP_NODE_ENV) {
throw 'REACT_APP_NODE_ENV undefined';
} else if (!process.env.REACT_APP_CATE_APP) {
throw 'REACT_APP_CATERING_APP undefined';
} else if (!process.env.REACT_APP_FRESH_CHAT_TOKEN) {
throw 'REACT_APP_FRESH_CHAT_TOKEN undefined';
} else if (!process.env.REACT_APP_SENTRY_DSN_KEY) {
throw 'REACT_APP_SENTRY_DSN_KEY undefined';
} else {
console.log('required env set');
}

确保将开发依赖项安装为yarn add dotenv -D

现在在CCD_ 4文件下>script部分添加该行

"validate-env": "node ./validate-env",

并将构建脚本更新为(如果您使用的是craco(

"build": "yarn validate-env && craco build",

所以,无论何时你都要运行纱线构建。它将首先检查是否存在所有env。如果有人失踪,它将使构建过程失败。

最新更新