Как я могу установить переменную среды в node.js?

Как я могу установить переменную среды в node.js?

Я бы предпочел не полагаться на что-либо специфичное для платформы, например, на запуск export или cmd.exe.

1 ответ

Решение

Вы можете установить переменные окружения в process.env:

process.env['VARIABLE'] = 'value';

Узел должен позаботиться о специфике платформы.

Сначала вы должны установить этот пакет: - https://github.com/motdotla/dotenv [npm install dotenv]

Затем вам нужно создать файл.env в корневом каталоге вашего проекта, и там вы можете добавить переменные, как показано ниже: -

NODE_ENV=PRODUCTION
DATABASE_HOST=localhost

Теперь вы можете легко получить доступ к этим переменным в вашем коде, как показано ниже: -

require('dotenv').config()
console.log(process.env.NODE_ENV);

Это сработало для меня, надеюсь, это поможет.

node v14.2.0 Чтобы установить переменную env, сначала создайте имя файла config.env в домашнем каталоге вашего проекта, а затем запишите все необходимые переменные, например

config.env

NODE_ENV=development
PORT=3000
DATABASE=mongodb+srv://lord:<PASSWORD>@cluster0-eeev8.mongodb.net/tour-guide?retryWrites=true&w=majority
DATABASE_LOCAL=mongodb://localhost:27017/tours-test
DATABASE_PASSWORD=UDJUKXJSSJPWMxw

теперь установите dotenv из npm, dotenv разгрузит вашу работу

npm i dotenv

теперь в вашем стартовом скрипте сервера, в моем случае это server.js, используйте doenv для загрузки переменных env.

const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv

//starting server
const port = process.env.PORT || 3000;
app.listen(port, () => {
  console.log(`app running on port ${port}...`);
});

Я использую экспресс, весь мой экспресс-код в app.js, пишу здесь для вашей справки

const express = require('express');
const tourRouter = require('./route/tourRouter');
const userRouter = require('./route/userRouter');

if (process.env.NODE_ENV === 'development') {
  console.log('mode development');
}
app.use(express.json());

app.use('/api/v1/tours', tourRouter);
app.use('/api/v1/users', userRouter);

module.exports = app;

теперь запустите свой сервер с помощью консоли, я использую nodemon, вы можете установить его из npm;

nodemon server.js

Что ж, я сначала устанавливаю пакет dotenv из npm

npm install dotenv

Затем я импортирую его в свой файл.

require('dotenv').config();

Тогда вам хорошо.:)

Вы можете читать переменные, используя:

console.log(process.env.MY_VARIABLE);

Хотя вы можете УСТАНОВИТЬ переменную, используя:

process.env.MY_OTHER_VARIABLE = 'helloworld;

Другие вопросы по тегам