NODE_ENV
เป็นตัวแปรสภาพแวดล้อมที่ได้รับความนิยมโดยเว็บเซิร์ฟเวอร์แบบเอ็กซ์เพรส เมื่อรันแอ็พพลิเคชันโหนดมันสามารถตรวจสอบค่าของตัวแปรสภาวะแวดล้อมและทำสิ่งต่าง ๆ ตามค่า NODE_ENV
มีการใช้เป็นพิเศษ (ตามแบบแผน) เพื่อระบุว่าสภาพแวดล้อมเฉพาะเป็นการผลิตหรือสภาพแวดล้อมการพัฒนา กรณีการใช้งานทั่วไปกำลังเรียกใช้การดีบักหรือรหัสการบันทึกเพิ่มเติมหากทำงานในสภาพแวดล้อมการพัฒนา
กำลังเข้าถึง NODE_ENV
คุณสามารถใช้รหัสต่อไปนี้เพื่อเข้าถึงตัวแปรสภาพแวดล้อมด้วยตนเองเพื่อให้คุณสามารถทำการตรวจสอบและตรรกะของคุณเอง:
var environment = process.env.NODE_ENV
หรือมิฉะนั้นจะใช้ express ' app.get('env')
( หมายเหตุ:ค่าเริ่มต้นนี้เป็น"development"
)
โปรดทราบว่าถ้าคุณยังไม่ได้กำหนดอย่างชัดเจนสำหรับสภาพแวดล้อมของคุณก็จะเป็นNODE_ENV
undefined
ตั้งค่า NODE_ENV
วิธีการตั้งค่าตัวแปรสภาพแวดล้อมจริงแตกต่างจากระบบปฏิบัติการไปยังระบบปฏิบัติการและยังขึ้นอยู่กับการตั้งค่าผู้ใช้ของคุณ
หากคุณต้องการตั้งค่าตัวแปรสภาพแวดล้อมเป็นแบบครั้งเดียวคุณสามารถทำได้จากบรรทัดคำสั่ง:
- linux & mac :
export NODE_ENV=production
- windows :
$env:NODE_ENV = 'production'
ในระยะยาวคุณควรจะทำเช่นนี้เพื่อไม่ให้ unset ถ้าคุณรีบูท - แทนที่จะทำรายการวิธีที่เป็นไปได้ทั้งหมดนี้ฉันจะให้คุณค้นหาวิธีทำด้วยตัวเอง!
การประชุมได้กำหนดว่ามีเพียงสองค่าที่คุณควรใช้สำหรับNODE_ENV
อย่างใดอย่างหนึ่งproduction
หรือเป็นdevelopment
ตัวพิมพ์เล็กทั้งหมด ไม่มีอะไรหยุดคุณเพิ่มค่ามากขึ้น แต่มันอาจไม่ใช่ความคิดที่ดีเพราะฉันเห็นโค้ดประเภทนี้มากมายในหลาย node_modules ที่ฉันใช้:
var development = process.env.NODE_ENV !== 'production';
โปรดทราบว่าเป็นความคิดที่ดีที่จะลองตั้งค่าNODE_ENV
จากภายในแอปพลิเคชันของโหนดเอง - หากคุณทำจะใช้กับกระบวนการที่ตั้งค่าไว้เท่านั้นดังนั้นสิ่งต่างๆอาจไม่ทำงานอย่างที่คุณคาดหวัง อย่าทำอย่างนั้น - คุณจะเสียใจ
app.configure('development', ...)
หรือ "การผลิต" เพื่อตั้งค่าบางอย่างเฉพาะสำหรับการพัฒนาหรือสภาพแวดล้อมการผลิต ดูexpressjs.com/api.html#app.configure