.env со следующим. js на местном - PullRequest
0 голосов
/ 27 марта 2020

У меня есть 2 файла о .env

.env.local

STAGE=local
API=http://localhost:3333

.env.dev

STAGE=dev
API=https://dev.api.domain.com

Я хочу разделить их как package.json скрипт

Что я хочу

"script": {
    "start-local": ".env.local && next",
    "start-dev": ".env.dev && next"
}

1 Ответ

1 голос
/ 27 марта 2020

Вы можете загрузить указанный c .env файл с помощью некоторой переменной env.

Например:

"script": {
    "start-local": "NODE_ENV=local next",
    "start-dev": "NODE_ENV=dev next"
}

Это определит переменную среды NODE_ENV, затем на основе на нем вы можете использовать dotenv lib для загрузки нужного файла.

// next.config.js
const dotEnv = require('dotenv');
const path = require('path');

const envFilePath = path.join(__dirname, `.env.${process.env.NODE_ENV}`); // this will have the path to the proper `.env` file

dotEnv.config({ path: envFilePath }); 

module.exports = {
  ...
} 
...