Node.js'de bir çevresel değişkeni nasıl ayarlayabilirim?
Dışa aktarma veya cmd.exe setini çalıştırmak gibi platforma özgü hiçbir şeye güvenmemeyi tercih ederim.
Yanıtlar:
Ortam değişkenlerinizi şurada ayarlayabilirsiniz process.env:
process.env['VARIABLE'] = 'value';
-VEYA-
process.env.VARIABLE = 'value';
Düğüm, platformun ayrıntılarına dikkat etmelidir.
var process = require('process'), süreç mevcut küresel bir değişkendir.
process.env.VARIABLEdeğişken adı bilinen bir sabitse tamam process.env['VARIABLE'], her durumda çalışır; orijinal soru yeterince ayrıntı belirtmedi, bu nedenle daha çok yönlü örnek daha uygun görünüyordu.
Öncelikle bu paketi yüklemelisiniz: -
https://github.com/motdotla/dotenv [ npm install dotenv]
Ardından, projenizin kök dizininde bir .env dosyası oluşturmanız gerekir ve orada aşağıdaki gibi değişkenler ekleyebilirsiniz: -
NODE_ENV=PRODUCTION
DATABASE_HOST=localhost
Artık bu değişkenlere kodunuzdan aşağıdaki gibi kolayca erişebilirsiniz: -
require('dotenv').config()
console.log(process.env.NODE_ENV);
Benim için çalıştı, umarım bu yardımcı olur.
node v14.2.0 env değişkenini ayarlamak için önce proje ana dizininizde bir dosya adı config.env oluşturun ve ardından ihtiyacınız olan tüm değişkenleri yazın, örneğin
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'i şimdi npm'den yükleyin, dotenv işinizi boşaltacaktır
npm i dotenv
şimdi sunucu başlangıç betiğinizde, benim durumumda server.js env değişkenlerini yüklemek için doenv kullanır.
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}...`);
});
Ekspres kullanıyorum, app.js'deki tüm ekspres kodumu referansınız için buraya yazıyorum
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;
şimdi sunucunuzu konsolu kullanarak başlatın , nodemon kullanıyorum, npm'den kurabilirsiniz;
nodemon server.js