Экспорт файла .env в скрипт npm - PullRequest
0 голосов
/ 13 сентября 2018

Я пытаюсь сделать какой-нибудь тест в своем приложении реакции, и мне нужно экспортировать мой файл .env. Я не могу использовать dotenv, потому что он не может быть уменьшен в реакции.

Я хочу добавить свой файл .env в свой тестовый скрипт. Что-то вроде:

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

Ответы [ 2 ]

0 голосов
/ 13 сентября 2018

Другим способом, без использования каких-либо дополнительных библиотек, является создание файла JS, который экспортирует объект с типичными 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);
0 голосов
/ 13 сентября 2018

Если вы используете dotenv , вы можете сделать это следующим образом.

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

Если вы не укажете путь к файлу .env, он будет считан из корня проекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...