【问题标题】:Export .env file in npm script在 npm 脚本中导出 .env 文件
【发布时间】:2018-09-13 02:53:27
【问题描述】:

我正在尝试在我的 react 应用程序中进行一些测试,我需要导出我的 .env 文件。 我不能使用 dotenv,因为它不能在反应中被缩小。

我想在我的测试脚本中添加我的 .env 文件。比如:

test: 'export .env mocha...."

【问题讨论】:

    标签: node.js reactjs mocha.js


    【解决方案1】:

    另一种不使用任何额外库的方法是创建一个 JS 文件,该文件将具有典型 Node ENV 的对象作为属性导出。然后导入这个文件并根据当前的 process.env.NODE_ENV 设置变量。 明显的缺点是磁盘上存储的可访问文件可能包含敏感数据

    例如: https://codesandbox.io/s/qq0vwrn1zq

    env/config.js

    export default {
      "development": {
        name: "Bob"
      },
      "production": {
        name: "Jim"
      },
      "staging": {
        name: "Alexa"
      },
      "test": {
        name: "Nancy"
      }
    };
    

    example.js

    import React from "react";
    import ReactDOM from "react-dom";
    import config from "./env/config";
    import "./styles.css";
    
    const env = process.env.NODE_ENV;
    const name = config[env].name;
    function App() {
      return (
        <div className="App">
          <h1>Current ENV: {env}</h1>
          <h2>Current Name: {name}</h2>
        </div>
      );
    }
    
    const rootElement = document.getElementById("root");
    ReactDOM.render(<App />, rootElement);
    

    【讨论】:

      【解决方案2】:

      如果你使用dotenv,你可以这样做。

      node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/your/env/vars
      

      如果不指定 .env 文件的路径,它将从项目根目录读取。

      【讨论】:

      • 那么,如果我使用的是摩卡咖啡,我该怎么做呢?我必须在 js 文件中制作 mocha 脚本并执行它?
      • @SaitoHs 只需将示例脚本中的“node”替换为“mocha”即可。
      猜你喜欢
      • 2019-09-05
      • 2021-09-27
      • 2021-12-24
      • 2016-02-29
      • 1970-01-01
      • 2018-12-09
      • 1970-01-01
      • 1970-01-01
      • 2018-02-08
      相关资源
      最近更新 更多