มีวิธีอ่านตัวแปรสภาพแวดล้อมในรหัส Node.js หรือไม่
os.environ['HOME']
อย่างเช่นงูหลาม
มีวิธีอ่านตัวแปรสภาพแวดล้อมในรหัส Node.js หรือไม่
os.environ['HOME']
อย่างเช่นงูหลาม
คำตอบ:
process.env.ENV_VARIABLE
ในกรณีที่ENV_VARIABLE
เป็นชื่อของตัวแปรที่คุณต้องการเข้าถึง
ดูเอกสารสำหรับ Node.jsprocess.env
process.env.FOO = "foo";
โรงงาน
process.env
ถูกทำให้สะอาดด้วยเหตุผลด้านความปลอดภัย มีเฉพาะตัวแปรที่ขึ้นต้นด้วยREACT_ENV_
เท่านั้น ดู: github.com/facebookincubator/create-react-app/blob/master/…
REACT_APP_
เมื่อใช้Node.jsคุณสามารถดึงตัวแปรสภาพแวดล้อมโดยใช้คีย์จากprocess.env
วัตถุ:
ตัวอย่างเช่น
var mode = process.env.NODE_ENV;
var apiKey = process.env.apiKey; // '42348901293989849243'
นี่คือคำตอบที่จะอธิบายการตั้งค่าตัวแปรสภาพแวดล้อมใน node.js
process.env
ถูกสร้างไว้ใน node.js api
หากคุณต้องการใช้คีย์สตริงที่สร้างขึ้นในโปรแกรม Node.js คุณพูดคุณสามารถใช้var v = 'HOME'
process.env[v]
มิฉะนั้นprocess.env.VARNAME
จะต้องฮาร์ดโค้ดในโปรแกรมของคุณ
process.env['HOME']
?
เพื่อดึงตัวแปรสภาพแวดล้อมใน Node.JS คุณสามารถใช้process.env.VARIABLE_NAMEแต่อย่าลืมว่าการกำหนดคุณสมบัติบน process.env จะแปลงค่าให้เป็นสตริงโดยปริยาย
แม้ว่าไฟล์. env ของคุณจะกำหนดตัวแปรเช่นSHOULD_SEND = falseหรือSHOULD_SEND = 0ค่าจะถูกแปลงเป็นสตริง ( “ false” และ“ 0”ตามลำดับ) และไม่ตีความว่าเป็นบูลีน
if (process.env.SHOULD_SEND) {
mailer.send();
} else {
console.log("this won't be reached with values like false and 0");
}
คุณควรทำการตรวจสอบอย่างชัดเจนแทน ฉันพบขึ้นอยู่กับชื่อสภาพแวดล้อมไปไกล
db.connect({
debug: process.env.NODE_ENV === 'development'
});
คุณสามารถใช้แพ็คเกจenvเพื่อจัดการตัวแปรสภาพแวดล้อมของคุณต่อโครงการ:
.env
ไฟล์ภายใต้ไดเรกทอรีโครงการและวางตัวแปรทั้งหมดของคุณไว้ที่นั่นrequire('dotenv').config();
เสร็จสิ้น process.env.ENV_NAME
ตอนนี้คุณสามารถเข้าถึงตัวแปรสภาพแวดล้อมของคุณด้วย
env
ไลบรารี
envdir
ยูทิลิตี
node
-specific
ทำไมไม่ใช้ในไดเรกทอรีผู้ใช้ใน.bash_profile
ไฟล์ดังนั้นคุณไม่จำเป็นต้องส่งไฟล์ที่มีตัวแปรของคุณไปผลิต
env
ในหน้าต่างเชลล์อื่นในขณะที่กระบวนการโหนดกำลังทำงานหรือในเชลล์เดียวกันหลังจากกระบวนการโหนดจบการทำงาน