รัน Script บน Ubuntu ง่ายๆด้วย Typescript
บางทีเราก็อยากลองรันโค้ดเพื่อดูว่าเขียนถูกมั้ย หรือบางโค้ดเราก็อยากรันเพียงครั้งเดียว จะลงทุน deploy ขึ้นไปก็เสียเวลา เพราะฉะนั้นมาดูกันดีกว่าว่าจะสร้างโปรเจ็คเพื่อรันโค้ด Typescript ยังไง
1. สร้าง Project ด้วย yarn
ก่อนอื่นเลยให้เราเปิด Terminal ในโฟลเดอร์ที่เราอยากจะสร้าง Typescript Project แล้วพิมพ์คำสั่งนี้
yarn init
เมื่อพิมพ์แล้ว Terminal จะโชว์คำถามให้เราใส่รายละเอียดเข้าไป โดยเราสามารถกด Enter ไปได้เรื่อยๆจนเมื่อขึ้นว่า main
ให้เราใส่ไปว่า src/index.ts
จากนั้นให้กด Enter ไปเรื่อยๆจนเสร็จสิ้น yarn ก็จะสร้างไฟล์หนึ่งให้ชื่อ package.json
ซึ่งจะมีข้อมูลที่เรากรอกไปเมื่อกี้ทั้งหมด
2. ลง Typescript ในโปรเจ็ค
เมื่อเราสร้างโปรเจ็คเสร็จเรียบร้อยแล้ว เรามาแปลงให้โปรเจ็คกลายเป็น Typescript Project ดีกว่า โดยการพิมพ์คำสั่งนี้
yarn add --dev typesript ts-node
ซึ่งคำสั่งนี้จะลง typescript
และ ts-node
ให้เป็น devDependency
ซึ่ง ts-node
จะช่วยให้เรารันไฟล์ Typescript ได้ทันทีเหมือน node
ที่รันไฟล์ Javascript ได้เลยนั่นเอง
3. รันโค้ดในไฟล์ Typescript
เมื่อเราลง Typescript ในโปรเจ็คเสร็จเรียบร้อยแล้ว เราสามารถสร้างไฟล์ Typescript ที่จะอ่านได้ ตามที่เราได้ระบุไว้ใน main
ตอนที่เราสร้างโปรเจ็คด้วย yarn init
ซึ่งในกรณีนี้คือ src/index.ts
ฉะนั้น เราสามารถสร้างโฟลเดอร์ชื่อ src
และสร้างไฟล์ชื่อ index.ts
ข้างในได้เลย
เมื่อสร้างไฟล์เสร็จแล้ว ให้เราเปิดไฟล์นั้นขึ้นมา พร้อมเขียนโค้ดที่เราอยากรันลงไปข้างในได้เลย ซึ่งเราได้เขียนโค้ดไปดังนี้
console.log('hello world')
เมื่อเสร็จเรียบร้อยแล้ว ให้เราเปิดไฟล์ package.json
ที่ yarn
สร้างให้เราอีกรอบหนึ่ง และพิมพ์เข้าไปเพิ่มดังนี้
{
...
"scripts": {
"start": "ts-node ./src/index.ts"
}
}
เมื่อเซฟเรียบร้อยแล้ว ให้เราเปิด Terminal ในโฟลเดอร์ที่มีไฟล์ package.json
จากนั้นพิมพ์คำสั่ง
yarn start
ซึ่งคำสั่งนี้จะไปเรียกให้ ts-node
รันโค้ดในไฟล์ index.ts
ในโฟลเดอร์ src
ตามที่เราระบุไว้ใน package.json
อย่าง console.log('hello world')
ก็จะทำให้ Terminal พิมพ์ hello world
ออกมา
เห็นมั้ยว่าการสร้าง Typescript Project เปล่าๆขึ้นมานั้นไม่ยากเลย ซึ่งแค่นี้เราก็สามารถรันโค้ดต่างๆได้แล้ว แต่การรันโค้ด Typescript นั้นมีข้อจำกัดและกฎหลายอย่าง ที่เราสามารถแก้ไขได้ผ่าน tsconfig.json
สามารถอ่านเพิ่มเติมได้ที่นี่
นอกจากนี้เรายังสามารถทำให้ประสบการณ์การเขียนโค้ดดีขึ้นไปอีกด้วย dependency
ตัวอื่นๆอย่างเช่น prettier
หรือใครที่อยากแยก environment variables
ก็มี dotenv
และ dotenv-flow
ที่ช่วยจัดการไฟล์ .env
ให้อีกด้วย
สุดท้ายแล้ว ต้องขอบอกไว้ก่อนว่าโปรเจ็คนี้เหมาะแค่กับการรันโค้ดเพื่อการทดสอบ หรือลองเล่นเท่านั้น ไม่เหมาะกับการนำไปเผยแพร่ให้คนอื่นใช้ ซึ่งจะต้องนึกถึงเรื่องความสะดวกในการใช้งาน ประสิทธิภาพการใช้งาน และความปลอดภัยของข้อมูลอีกด้วย
แต่ถ้าหากอยากจะลองเล่นดู ก็สามารถทำตามขั้นตอนที่บอกได้เลย หรือหากขี้เกียจก็สามารถไป fork จาก GitHub ได้เลย