Câu trả lời:
process.env.ENV_VARIABLE
Đâu ENV_VARIABLE
là tên của biến bạn muốn truy cập.
process.env.FOO = "foo";
làm.
process.env
được vệ sinh vì lý do an ninh. Chỉ các biến bắt đầu bằng REACT_ENV_
có sẵn. Xem: github.com/facebookincubator/create-react-app/blob/master/iêu
REACT_APP_
Khi sử dụng Node.js , bạn có thể truy xuất các biến môi trường theo khóa từ process.env
đối tượng:
ví dụ
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
Dưới đây là câu trả lời sẽ giải thích việc thiết lập các biến môi trường trong node.js
process.env
được tích hợp vào api node.js.
Nếu bạn muốn sử dụng khóa chuỗi được tạo trong chương trình Node.js của mình var v = 'HOME'
, bạn có thể sử dụng
process.env[v]
.
Nếu không, process.env.VARNAME
phải được mã hóa cứng trong chương trình của bạn.
process.env['HOME']
?
Để truy xuất các biến môi trường trong Node.JS, bạn có thể sử dụng process.env.VARIABLE_NAME , nhưng đừng quên rằng việc gán một thuộc tính trên process.env sẽ ngầm chuyển đổi giá trị thành một chuỗi.
Ngay cả khi tệp .env của bạn xác định một biến như SHOULD_SEND = false hoặc SHOULD_SEND = 0 , các giá trị sẽ được chuyển đổi thành chuỗi ( lần lượt là false false và 0 0 0 ) và không được hiểu là booleans.
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
Thay vào đó, bạn nên kiểm tra rõ ràng. Tôi đã tìm thấy tùy thuộc vào tên môi trường đi một chặng đường dài.
db.connect({
debug: process.env.NODE_ENV === 'development'
});
Bạn có thể sử dụng gói env để quản lý các biến môi trường cho mỗi dự án:
.env
tệp trong thư mục dự án và đặt tất cả các biến của bạn ở đó.require('dotenv').config();
Làm xong. Bây giờ bạn có thể truy cập các biến môi trường của bạn với process.env.ENV_NAME
.
env
thư viện.
envdir
tiện ích.
node
biệt.
Tại sao không sử dụng chúng trong thư mục Người dùng trong .bash_profile
tệp, vì vậy bạn không phải đẩy bất kỳ tệp nào có biến của mình vào sản xuất?
env
vào một cửa sổ shell khác trong khi quá trình nút đang chạy, cũng như trong cùng một shell sau khi quá trình nút thoát.