Saya tidak berpikir Anda perlu melakukannya var process = require('process'), proses adalah hadiah variabel global.
alessioalex
85
Perhatikan, bagaimanapun, bahwa ini hanya akan mengatur variabel dalam proses node Anda dan setiap proses anak yang dipanggilnya; ia tidak akan, misalnya, meninggalkan variabel yang disetel dalam shell ketika proses node keluar (mengubah lingkungan proses induk sangat bergantung pada sistem dan bahkan tidak selalu memungkinkan).
ebohlman
2
ada yang menawarkan pendapat tentang process.env.variable vs global.variable?
Scott Silvi
3
process.env.VARIABLEtidak apa-apa jika nama variabel adalah konstanta yang diketahui, sementara process.env['VARIABLE']berfungsi dalam kasus apa pun; pertanyaan asli tidak cukup menjelaskan secara rinci, jadi contoh yang lebih serbaguna tampaknya lebih cocok.
lanzz
3
@BillMorris tidak, tidak mungkin ada proses untuk mengubah lingkungan induknya
Seberapa amankah file .env yang digunakan oleh dotenv? Jika rahasianya adalah teks biasa dalam string lingkungan di file .env, apakah itu lebih aman daripada menjadikannya sebagai teks biasa dalam kode node Anda? Yang jelas tidak-tidak?
Ric
0
node v14.2.0
Untuk menyetel variabel env terlebih dahulu buat nama file config.env di direktori utama proyek Anda, lalu tulis semua variabel yang Anda butuhkan, misalnya
sekarang instal dotenv dari npm, dotenv akan membongkar pekerjaan Anda
npm i dotenv
sekarang di skrip starter server Anda, dalam kasus saya itu adalah server.js gunakan doenv untuk memuat variabel env.
const dotenv = require('dotenv');
dotenv.config({ path: './config.env' });
const app = require('./app'); // must be after loading env vars using dotenv//starting serverconst port = process.env.PORT || 3000;
app.listen(port, () => {
console.log(`app running on port ${port}...`);
});
Saya menggunakan express, semua kode ekspres saya di app.js, menulis di sini untuk referensi Anda
Jawaban:
Anda dapat mengatur variabel lingkungan Anda di
process.env
:process.env['VARIABLE'] = 'value';
-ATAU-
process.env.VARIABLE = 'value';
Node harus menangani spesifikasi platform.
sumber
var process = require('process')
, proses adalah hadiah variabel global.process.env.VARIABLE
tidak apa-apa jika nama variabel adalah konstanta yang diketahui, sementaraprocess.env['VARIABLE']
berfungsi dalam kasus apa pun; pertanyaan asli tidak cukup menjelaskan secara rinci, jadi contoh yang lebih serbaguna tampaknya lebih cocok.Pertama, Anda harus menginstal paket ini: - https://github.com/motdotla/dotenv [
npm install dotenv
]Kemudian Anda perlu membuat file .env di direktori root proyek Anda, dan di sana Anda dapat menambahkan variabel seperti di bawah ini: -
Sekarang Anda dapat dengan mudah mengakses variabel-variabel ini dalam kode Anda seperti di bawah ini: -
require('dotenv').config() console.log(process.env.NODE_ENV);
Itu berhasil untuk saya, semoga itu membantu.
sumber
node v14.2.0 Untuk menyetel variabel env terlebih dahulu buat nama file config.env di direktori utama proyek Anda, lalu tulis semua variabel yang Anda butuhkan, misalnya
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
sekarang instal dotenv dari npm, dotenv akan membongkar pekerjaan Anda
sekarang di skrip starter server Anda, dalam kasus saya itu adalah server.js gunakan doenv untuk memuat variabel 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}...`); });
Saya menggunakan express, semua kode ekspres saya di app.js, menulis di sini untuk referensi Anda
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;
sekarang mulai server Anda menggunakan konsol, saya menggunakan nodemon , Anda dapat menginstalnya dari npm;
sumber