คือตัวแปรสภาพแวดล้อมที่มีการตั้งค่าไว้ภายนอกโปรแกรม โดยจะผ่านฟังก์ชั่นการทำงานของ OS (operating system) หรือ microservice หรือพูดอีกอย่างมันคือ Path ที่ใช้ในเชื่อมโยงไปยัง folder โปรแกรมของเราที่ถูกเรียกใช้งาน
ต่อมาจะเป็นการแนะนำการสร้าง Environment ของ NodeJs กัน
ให้ทำการสร้างไฟล์ app.js ขึ้นมาแล้วเปิด terminal ในการพิมพ์ command
โดยใช้สร้างคำสั่ง
โค้ด: เลือกทั้งหมด
set NODE_ENV=development&&node app.js
หรือถ้าเราอยากจะสร้าง environment variable แบบ cross platform ใน npm จะมี package ให้ใช้งาน (cross-env)
พิมพ์คำสั่งสำหรับติดตั้ง package
โค้ด: เลือกทั้งหมด
npm install --save-dev cross-env
ให้ลองใช้คำสั่ง
โค้ด: เลือกทั้งหมด
npx cross-env NODE_ENV=development node app.js
เราไม่ได้กำหนด port ให้มัน ให้ไปที่ไฟล์ app.js แล้วพิมพ์คำสั่ง
โค้ด: เลือกทั้งหมด
console.log(
process.env.NODE_ENV,
process.env.PORT
)
โค้ด: เลือกทั้งหมด
npx cross-env NODE_ENV=development PORT=3000 node app.js
ลองใช้คำสั่งสำหรับ windows
โค้ด: เลือกทั้งหมด
set NODE_ENV=development && set PORT=3000 && node app.js
npm init -y
เพื่อเป็นการติดตั้งไฟล์ package.json เข้าไปที่ไฟล์เราจะบรรทัดที่เขียนคำว่า scripts ให้ลบคำสั่งที่อยู่ภายใน บรรทัด scripts ออกแล้วพิมพ์ว่า
โค้ด: เลือกทั้งหมด
"dev": "set NODE_ENV=development && set PORT=3000 && node app.js"
จะเห็นได้ว่าการ set NODE_ENV=development นั้นจะเป็นการแยกตัวที่เป็น development กับตัวที่เป็น production ออกจากกัน
โดย NODE_ENV= x โดยที่เราจะตั้งค่าของ x เป็นตัวแปรจะใช้ในการแยกตัว development และ production จากนั้นเรายังเห็นได้อีก package
npm install --save-dev cross-env ก็ยังมีประโยชน์ในการใช้งาน ข้าม platform กันอีกด้วย ในความหมายคือ เราสามารถใช้ os ของ windows แล้วทำการรัน platform ของ Ubuntu ได้อีกด้วย
https://stackoverflow.com/questions/9249830/how-can-i-set-node-env-production-on-windows
https://stackoverflow.com/questions/45822494/node-js-how-to-set-server-environment-port-and-node-env
https://www.twilio.com/blog/2017/08/working-with-environment-variables-in-node-js.html