พักนี้พลมีโอกาสใช้ Azure บ่อย เลยได้ล้วงตับไตไส้พุงมาเยอะพอควร หลายๆ อย่างจะเขียนไว้ใน Blog นี้ และนี่ก็เป็นหนึ่งในนั้น
หลังจากงาน Meetup เรื่องการสร้าง Facebook Chatbot ด้วย Node.js และ Microsoft Bot Framework แบบ Mini-Workshop พลก็เกิดความสงสัยว่า เราควรกำหนดเวอร์ชั่นของ Node.js บน App Service ได้ ไม่งั้นอาจจะเกิดความวิบัติในภายภาคหน้า ถ้า Node.js มีการเปลี่ยนแปลงสำคัญ
ยิ่งตอนนี้เริ่มติดการเขียน JavaScript แบบ ES6 แล้ว โดยเฉพาะ Arrow function แบบด้านล่างนี่ เริ่มเลิกยาก
bot.dialog('/', (session) => { session.endDialog('สวัสดี'); }
เอาล่ะ วิธีที่ว่ามีดังนี้
1. กำหนดเวอร์ชั่นของ Node.js ผ่าน App Setting
ในตอนที่เราสร้าง Web App Service ขึ้นมาใน Azure Portal แล้ว ให้เข้ามาดูที่ส่วน App Settting จะเป็นว่ามี key ที่ชื่อว่า WEBSITE_NODE_DEFAULT_VERSION ซึ่งเราสามารถมาระบุเวอร์ชั่นของ Node บน App Service ของเราได้จากตรงนี้
2. กำหนดเวอร์ชั่นของ Node.js ผ่าน package.json
อีกวิธีหนึ่งคือการกำหนดค่า engine ไว้ในไฟล์ package.json ซึ่งแบบนี้อาจจะสะดวกกว่าเวลานำไปใช้กับบริการ Cloud ของเจ้าอื่น
เช่น
// เลือกระหว่าง 0.6.22 หรือ 0.8.X "engines":{"node": "0.6.22 || 0.8.x"}
หวังว่าจะช่วยให้งานเสร็จเร็วขึ้นไม่มากก็น้อยนะครับ 🙂
อ้างอิง – Microsoft Azure