在npm脚本中导出.env文件

时间:2018-09-13 02:53:27

标签: node.js reactjs mocha

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

我想在测试脚本中添加.env文件。像这样:

测试:“导出.env摩卡咖啡...”

2 个答案:

答案 0 :(得分: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);

答案 1 :(得分:0)

如果您使用的是dotenv,则可以这样做。

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

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