【问题标题】:How to use process.env variables in browser running by Cypress如何在赛普拉斯运行的浏览器中使用 process.env 变量
【发布时间】:2020-01-09 02:32:11
【问题描述】:

在我的应用程序的源代码中(基于 create-react-app 的 React)我正在使用如下环境变量:process.env.REACT_APP_API_URL,它们存储在我的 .env.* 文件中。

但是当我在 Cypress 下运行相同的应用程序时,process.env 对象是空的。当 React 应用程序在 Cypress 下运行时,如何提供这些变量以供其使用?

我知道我可以设置 Cypress 环境变量,但这不是我想要的 - 这是一个不同的范围。

【问题讨论】:

    标签: reactjs environment-variables create-react-app cypress


    【解决方案1】:

    您可以使用configuration API 并在您的插件文件上执行类似的操作。设置config.env = process.env,这会将您的整个节点环境设置为Cypress

    // cypress/plugins/index.js
    module.exports = (on, config) => {
    
      // modify env value
      config.env = process.env
    
      // return config
      return config
    }
    

    您还可以使用config.env.YOUR_VAR = process.env.YOUR_VAR 选择性地分配您想要的值。

    【讨论】:

    • 操作员询问如何在 Cypress 中设置 process.env 变量。这个答案说如何使用process.env 变量来设置赛普拉斯环境变量,不是吗?我错过了什么?
    • 你需要先安装dotenv并在cypress/plugins/index.js文件顶部导入require("dotenv").config();
    • btw dotenv 不是必需的
    猜你喜欢
    • 2021-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-31
    • 1970-01-01
    • 2022-11-17
    • 1970-01-01
    相关资源
    最近更新 更多