【发布时间】:2022-11-02 14:45:45
【问题描述】:
如果缺少任何环境变量,有什么方法可以使yarn build 步骤失败。在 bitbucket 管道脚本中,即使没有在存储库变量下设置环境变量,构建过程也会执行。
【问题讨论】:
标签: reactjs deployment build hadoop-yarn bitbucket-pipelines
如果缺少任何环境变量,有什么方法可以使yarn build 步骤失败。在 bitbucket 管道脚本中,即使没有在存储库变量下设置环境变量,构建过程也会执行。
【问题讨论】:
标签: reactjs deployment build hadoop-yarn bitbucket-pipelines
是的,这可以使用 React 应用程序中的方法来实现。在根目录中创建一个名为 validate-env.js 的 JS 文件并在其中添加以下内容(我在我的应用程序中仅使用这些环境变量 - 根据您的更改它们)
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
现在在 package.json 文件 > script 部分下添加这一行
"validate-env": "node ./validate-env",
并将构建脚本更新为(如果您使用的是 craco)
"build": "yarn validate-env && craco build",
因此,无论何时您将运行 yarn build。它将首先检查是否所有环境都存在。如果有人丢失,它将使构建过程失败。
【讨论】: