【发布时间】:2018-09-13 02:53:27
【问题描述】:
我正在尝试在我的 react 应用程序中进行一些测试,我需要导出我的 .env 文件。 我不能使用 dotenv,因为它不能在反应中被缩小。
我想在我的测试脚本中添加我的 .env 文件。比如:
test: 'export .env mocha...."
【问题讨论】:
我正在尝试在我的 react 应用程序中进行一些测试,我需要导出我的 .env 文件。 我不能使用 dotenv,因为它不能在反应中被缩小。
我想在我的测试脚本中添加我的 .env 文件。比如:
test: 'export .env mocha...."
【问题讨论】:
另一种不使用任何额外库的方法是创建一个 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);
【讨论】:
如果你使用dotenv,你可以这样做。
node -r dotenv/config your_script.js dotenv_config_path=/custom/path/to/your/env/vars
如果不指定 .env 文件的路径,它将从项目根目录读取。
【讨论】: