Node JSWeb Developer

ติดตั้ง Node JS module ใช้แบบให้มีสุขภาพชีวิตที่ดี

เรื่องที่เกี่ยวข้อง - Node JS, npm

วันนี้มีนักเรียนที่มาอบรมกับโค้ชพล ถามขึ้นมาเกี่ยวกับการติดตั้ง Module ของ Node JS ว่าทำไมเราต้องใส่ –save ด้วย เช่นเวลาติดตั้ง  Express JS ในตอนอบรมกัน เราจะสั่งแบบนี้

npm install express --save

แต่ถ้าหลายๆ คน เคยค้นหาใน Internet จะเจอแต่คำสั่งติดตั้ง Module ของ Node JS โล้นๆ แบบนี้

npm install express

ซึ่งโค้ชพลจะมาเสริมให้ครับ ว่าการสั่งแบบมี–save  จะดีกว่ายังไงบ้าง

3 ข้อดี จากการติดตั้ง Node Module แบบมี –save

1. อัพเดตไฟล์ package.json ให้อัตโนมัติ

ใครที่มาอบรมกับโค้ชพล จะมีช่วงที่โค้ชอธิบายว่า “ทำไม Node JS มันยิ่งใหญ่กว่าเขียน Javascript ทำ server มากมายนัก?

ซึ่งกลไกสำคัญหนึ่งที่มือใหม่ หรือคนที่เพิ่งมาใช้ Node JS จะมองข้าม คือเรื่องของ Dependencies ครับ

คำสั่ง –save  ที่เสริมเข้าไป จะทำให้ระบบ NPM ใส่ข้อมูลของ Module ที่เราสั่งติดตั้งเข้าไปในไฟล์ package.json  ซึ่งจะมีประโยชน์มากๆ ในการใช้ความเจ๋งอื่นๆ ของ Node JS

ด้านล่างนี่คือไฟล์ package.json  ก่อนสั่ง npm install express –save

{
  "name": "Avenger Assemble",
  "version": "0.0.0",
  "description": "Keeps track super heroes team",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Teerasej Jiraphatchandej <[email protected]>",
  "license": "BSD-2-Clause"
}

ส่วนนี่คือไฟล์หลังจากสั่งติดตั้ง Express JS แล้ว

{
  "name": "Avenger Assemble",
  "version": "0.0.0",
  "description": "Keeps track super heroes team",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "Teerasej Jiraphatchandej <[email protected]>",
  "license": "BSD-2-Clause",
  "dependencies": {
    "express": "^4.13.3"
  }
}

จะเห็นว่ามีการเพิ่มส่วนที่ชื่อ Dependencies เข้ามาใน package.json  นั่นแล

2. ง่ายขึ้นเมื่อถึงเวลาปล่อยแอพเข้าสู่ Production

ในการทำเว็บแอพ หรือแอพในระบบอื่นๆ เราจะมีการเรียนช่วงการพัฒนา (บั้กตรึม) ว่า Development และช่วงปล่อยให้ประชาชีได้ใช้จริงว่า Production (อัพขึ้น server เปิดให้ใช้งานจริงประมาณนี้)

ซึ่งในการทำเว็บแอพด้วย Node JS เวลาเราเอาขึ้นระบบในช่วง Production ส่วนใหญ๋เราไม่อัพโฟลเดอร์ node_module  ขึ้นไปตรงๆ กัน

โดยระบบปลายทางใน Production จะมีการอ่านส่วนของ Dependencies ในไฟล์ package.json  และทำการดาวน์โหลดมาจัดการเองแทนเรา ซึ่งก็คือว่าสะดวกสบายไปอีกหนึ่ง

3. เป็นการคิดถึงคนอื่น: ขนาดโปรเจคใน Git เล็กกว่า เพื่อนสั่งติดตั้ง Module ได้สะดวกกว่า

ในยุคที่เราไม่ได้เขียนโปรแกรมอยู่คนเดียว (เพราะ Internet ทำให้เรารู้ว่ามีสหายร่วมอาชีพอีกหลายแสนคน)

ทำให้แนวคิดการจัดการโปรเจค และไฟล์ต่างๆ ไม่เหมือนเมื่อก่อนอีกต่อไป เหมือนเมื่อก่อนอยู่หอคนเดียว กูจะรกเท่าไหร่ก็ได้ แต่ตอนนี้เหมือนมีรูมเมทมาอยู่ด้วย จะแชร์ตู้เย็น แชร์คอมกันใช้ก็ต้องมีรูปแบบการแบ่งปันที่มีระบบ ไม่งั้นตีกันตาย

อย่างที่บอกไปข้อที่ 1 ว่าการใช้คำสั่ง –save  จะเป็นการบอกใช้ NPM ใส่ข้อมูลเข้าไปในส่วน Dependencies ของไฟล์ package.json  ในโปรเจคเราด้วย เหมือนการจดโน๊ตเข้าไปว่าโปรเจคเราใช้ Module อะไร เวอร์ชั่นอะไรบ้าง

ทำให้เราไม่จำเป็นต้องส่ง ไฟล์อันเทอะทะของ Module ในโฟลเดอร์ node_module  ในโปรเจคเราเข้า Git ครับ

เพราะการที่เรามีข้อมูลส่วนของ Dependencies ในไฟล์ package.json ทำให้คนที่ได้โปรเจคของเราไป (แต่ไม่ได้โฟลเดอร์ node_module  ไปด้วยสามารถติดตั้ง module ที่จำเป็นต่อการทำงานของเราได้ทั้งหมด เพียงแค่ใช้คำสั่ง

npm install

จากในโฟลเดอร์โปรเจคของเราเท่านั้นเอง

สรุป

หวังว่าที่โค้ชพลคุยกับคุณในเรื่องนี้ จะทำให้สามารถใช้ตัดสินใจในการทำโปรเจคแอพใดๆ ได้ง่าย และมีความสุขมากขึ้นนะ

เปิดอบรมสร้าง Cross Platform Mobile Application ด้วย Ionic Framework

เหมาะสำหรับคนทำเว็บ, เริ่มต้น JavaScript ES6 และ Angular เข้าใจง่าย, ใช้ได้จริง

สอบถาม หรือติดต่อจัดอบรมโทร 083-071-3373

โปรหน้าฝน! เรียนรอบสด รับคอร์สออนไลน์มูลค่ากว่า 5800 บาทฟรี!

อ้างอิง

เริ่มต้นยุค AI ด้วยคอร์สฟรี และพรีเมี่ยม กับพล

หากชอบสิ่งที่พลเล่า เรื่องที่พลสอน สามารถสนับสนุนพลโดยการเข้าเรียนคอร์สออนไลน์ของพลนะคร้าบ

  • เข้าใจง่าย ใช้ได้จริง ออกแบบการสอนอย่างเข้าใจโดยโค้ชพล
  • มีคอร์สสำหรับคนใช้งานทั่วไป จนถึงเรียนรู้เพื่อใช้งานในสายอาชีพขั้นสูง
  • ทุกคอร์สมีใบประกาศณียบัตรรับรองหลังเรียนจบ

เราใช้คุกกี้เพื่อพัฒนาประสิทธิภาพ และประสบการณ์ที่ดีในการใช้เว็บไซต์ของคุณ คุณสามารถศึกษารายละเอียดได้ที่ นโยบายความเป็นส่วนตัว และสามารถจัดการความเป็นส่วนตัวเองได้ของคุณได้เองโดยคลิกที่ ตั้งค่า

Privacy Preferences

คุณสามารถเลือกการตั้งค่าคุกกี้โดยเปิด/ปิด คุกกี้ในแต่ละประเภทได้ตามความต้องการ ยกเว้น คุกกี้ที่จำเป็น

Allow All
Manage Consent Preferences
  • Always Active

Save