node.js - 在 npm 脚本中导出 .env 文件
问题描述
我正在尝试在我的反应应用程序中进行一些测试,我需要导出我的 .env 文件。我不能使用 dotenv 因为它不能在反应中被缩小。
我想在我的测试脚本中添加我的 .env 文件。就像是:
测试:'export .env mocha...."
解决方案
另一种不使用任何其他库的方法是创建一个 JS 文件,该文件将具有典型 Node ENV 的对象作为属性导出。然后导入这个文件并根据当前的 process.env.NODE_ENV 设置变量。明显的缺点是您有一个存储在磁盘上的可访问文件,其中可能包含敏感数据。
例如: https ://codesandbox.io/s/qq0vwrn1zq
环境/config.js
export default {
"development": {
name: "Bob"
},
"production": {
name: "Jim"
},
"staging": {
name: "Alexa"
},
"test": {
name: "Nancy"
}
};
例子.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);
推荐阅读
- python - 具有多个连接的 Sqlalchemy 查询,包括非直接多对多关系
- c# - Unity C# 错误'cs0116'“命名空间不能直接包含字段或方法等成员”
- javascript - 在 mouseenter 上隐藏 div - 但保留它
- entity-framework-core - ef core plus 是否支持带减号的批量更新?
- python - python tkinter 计算器项目
- javascript - 将可排序列表添加到空列表中并删除可排序列表而不重复
- python - 如何在 Python 中执行伴随敏感性(最好通过 CVODE)
- python - 错误:virtualenvwrapper.user_scripts 无法运行“/Users/../.virtualenvs/prod-replay/bin/preactivate”:[Errno 2] 没有这样的文件或目录
- api-gateway - 如何访问 Gravitee AM api
- jquery - 用户使用 Angular/jQuery 从浏览器中选择要下载的文件夹