ลองใช้ npm-run-all เพื่อช่วย compile TypeScript code ให้อัตโนมัติสำหรับการพัฒนา cloud functions for firebase กับ firestore

by | Last updated Feb 7, 2021 | cloud-functions | 0 comments

ด้วยความที่ช่วงก่อนหน้านี้ได้ทำแอปพลิเคชันที่ใช้ cloud-functions ของ firebase แบบพอเป็นรูปเป็นร่างเลยได้เห็นปัญหาในตอนที่เริ่มพัฒนาคือ การ configuration ของ firebase emulater สิ่งที่ต้องการเราอยากให้ could-functions กับ firestore สามารถรันระบบพร้อมกันในค่ำสั่งเดียว และเมื่อไหร่ก็ตามที่เราแก้ไขโค้ด อยากให้ระบบ re-compile โค้ด typescript แล้วไป restart โค้ด function ของเราให้อัตโนมัติ

โปรแกรมเมอร์มืออาชีพชอบหาเครื่องมือต่าง ๆ มาใช้เพื่ออำนวยความสะดวกกับการพัฒนาซอฟต์แวร์ของพวกเขา เราพยามหาสิ่งนั้นเช่นกัน และจากที่ค้นหาดูก็พบสิ่งที่ช่วยได้ เขาเรียกว่า Task Runner ซึ่งมีหลายอย่าง สำหรับบทความนี้ใช้ package ที่มีชื่อว่า npm-run-all

https://www.npmjs.com/package/npm-run-all

เราจะนำ pacakage มาใช้รันคำสั่ง script ที่ได้กำหนดไว้ในไฟล์ package.json ความสามารถของมันจะช่วยให้ระบบสามารถรันคำสั่งได้ทีละหลายคำสั่งในเวลาเดียวกัน

จากโค้ดตัวอย่างข้างบนให้เราสังเกตบรรทัดที่ 4 เป็นการสั่งให้ระบบรันคำสั่งสองอย่าง หนึ่งคือ 

start:firebase

เป็นคำสั่งสตาร์ท firebase emulator ในที่นี้ผมได้ตั้งค่าให้เปิดเซิร์ฟ cloud functions และ firestore คำสั่งที่สองคือ

start:build

เป็นคำสั่งให้ระบบตรวจสอบว่าโค้ด Typescript ในโปรเจคของเราเกิดการเปลี่ยนแปลงขึ้นหรือไม่ซึ่งหากมีการแก้ไขคำสั่ง tsc จะ compile โค้ด Typescript ไปเป็น Javascript ในทันที

*หากดูคำสั่งที่บรรทัด 4 จะเห็นได้ว่าหลัง start: เป็นเครื่องหมายดอกจันทร์ มันเป็นคำสั่งรูปแบบ glob เราสามารถใช้ความสามารถนี้เพื่อรันจำนวนคำสั่งตามที่เราต้องการได้นั่นเอง

บทความที่เกี่ยวข้อง

No Results Found

The page you requested could not be found. Try refining your search, or use the navigation above to locate the post.