วิธีการ Configuring Environment Variable ใน NodeJs

jQuery & Ajax Knowledge ความรู้เกี่ยวกับ Javascript , jQuery และ Ajax

Moderator: mindphp, ผู้ดูแลกระดาน

Nes224
PHP Super Member
PHP Super Member
โพสต์: 441
ลงทะเบียนเมื่อ: 20/12/2021 11:36 am

วิธีการ Configuring Environment Variable ใน NodeJs

โพสต์ที่ยังไม่ได้อ่าน โดย Nes224 »

วันนี้จะมาแชร์ความรู้เรื่องของการ Configuring Environment Variable NodeJs บนตัว windows สำหรับ NodeJs กัน โดยนิยามของ environment variable ก็คือ
คือตัวแปรสภาพแวดล้อมที่มีการตั้งค่าไว้ภายนอกโปรแกรม โดยจะผ่านฟังก์ชั่นการทำงานของ OS (operating system) หรือ microservice หรือพูดอีกอย่างมันคือ Path ที่ใช้ในเชื่อมโยงไปยัง folder โปรแกรมของเราที่ถูกเรียกใช้งาน

ต่อมาจะเป็นการแนะนำการสร้าง Environment ของ NodeJs กัน
ให้ทำการสร้างไฟล์ app.js ขึ้นมาแล้วเปิด terminal ในการพิมพ์ command
โดยใช้สร้างคำสั่ง

โค้ด: เลือกทั้งหมด

set NODE_ENV=development&&node app.js 
ก็จะการสร้างตัวแปร (สำหรับ windows จะใช้คำสั่ง set NODE_ENV=development&&node app.js ครับ)
หรือถ้าเราอยากจะสร้าง environment variable แบบ cross platform ใน npm จะมี package ให้ใช้งาน (cross-env)
พิมพ์คำสั่งสำหรับติดตั้ง package

โค้ด: เลือกทั้งหมด

 npm install --save-dev cross-env
หลังจากติดตั้ง package เสร็จเรียบร้อยแล้ว
ให้ลองใช้คำสั่ง

โค้ด: เลือกทั้งหมด

npx cross-env NODE_ENV=development node app.js
หลังจากที่เราได้ run คำสั่งไปที่ terminal แล้วจะมีการ alert บอกว่า development undefined เหตุผลของการฟ้องว่า development undefined เป็นเพราะ
เราไม่ได้กำหนด port ให้มัน ให้ไปที่ไฟล์ app.js แล้วพิมพ์คำสั่ง

โค้ด: เลือกทั้งหมด

console.log(
	process.env.NODE_ENV,
	process.env.PORT
)
หลังจากนั้นที่ terminal ให้พิมพ์ command line ว่า

โค้ด: เลือกทั้งหมด

npx cross-env NODE_ENV=development PORT=3000 node app.js
จะมี alert ขึ้นมาบอกว่า development 3000
ลองใช้คำสั่งสำหรับ windows

โค้ด: เลือกทั้งหมด

set NODE_ENV=development && set PORT=3000 && node app.js
EnvironmentWindows
EnvironmentWindows
Runcode.jpg (8.18 KiB) Viewed 2720 times
หลังถ้าหากไม่อยากที่จะเขียนคำสั่งยาวๆแบบนี้ ให้ทำการ พิมพ์ที่ terminal ด้วยคำสั่ง
npm init -y
เพื่อเป็นการติดตั้งไฟล์ package.json เข้าไปที่ไฟล์เราจะบรรทัดที่เขียนคำว่า scripts ให้ลบคำสั่งที่อยู่ภายใน บรรทัด scripts ออกแล้วพิมพ์ว่า

โค้ด: เลือกทั้งหมด

"dev": "set NODE_ENV=development && set PORT=3000 && node app.js"
แล้วเมื่อทำการ run ให้พิมพ์ว่า npm run dev เป็นการอ้างอิงไปที่ dev ที่เราได้ set ไว้ในไฟล์ package.json
RunENV
RunENV
SetDev.jpg (14.8 KiB) Viewed 2720 times

จะเห็นได้ว่าการ 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
  • Similar Topics
    ตอบกลับ
    แสดง
    โพสต์ล่าสุด

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 18