แพ็กเกจและดีเพนเดนซี
ไม่มีใครเขียนแอปทั้งตัวขึ้นมาใหม่ทั้งหมด ปัญหาที่ยากและพบบ่อย — การจัดรูปแบบวันที่ การจัดการการชำระเงิน การแสดงปฏิทิน — มีคนอื่นแก้ไขและบรรจุไว้เรียบร้อยแล้ว แพ็กเกจ () คือชิ้นส่วนโค้ดที่นำกลับมาใช้ใหม่ได้ ซึ่งคุณดึงเข้ามาในโปรเจกต์ของคุณแทนที่จะเขียนมันขึ้นมาเอง ดีเพนเดนซี (dependencies) ของโปรเจกต์คุณคือรายการแพ็กเกจที่มันพึ่งพา
ในโลกของ JavaScript เครื่องมือที่จัดการเรื่องนี้คือ npm (Node Package Manager) มีสองไฟล์ที่ทำหน้าที่บันทึกบัญชี:
package.json— รายการที่มนุษย์อ่านได้ว่าโปรเจกต์ของคุณต้องการอะไรบ้าง บวกกับคำสั่งที่ใช้รันมัน คุณ (หรือ AI) เป็นคนแก้ไขไฟล์นี้- ไฟล์ล็อก () (
package-lock.jsonหรือคล้ายกัน) — บันทึกที่แม่นยำและสร้างขึ้นโดยเครื่องจักรของแพ็กเกจ ทุกตัว และเวอร์ชันที่แน่นอนของมัน เพื่อให้แอปถูกสร้างขึ้นเหมือนกันทุกประการบนเครื่องของคุณ เครื่องของเพื่อนร่วมทีม และเซิร์ฟเวอร์ คุณไม่แก้ไขไฟล์นี้ด้วยมือ คุณปล่อยให้เครื่องมือจัดการมันเอง
{
"name": "my-app",
"scripts": {
"dev": "next dev",
"build": "next build"
},
"dependencies": {
"next": "16.0.0",
"react": "19.0.0"
}
}
ทำไมถึงต้องสนใจเรื่องนี้? เมื่อ AI บอกว่า "มาเพิ่มไลบรารีสำหรับเรื่องนี้กันเถอะ" มันกำลังแก้ไข package.json และคุณกำลังไว้ใจโค้ดของคนอื่น — ดีเพนเดนซีที่น้อยและเป็นที่รู้จักดีนั้นปลอดภัยกว่ากองดีเพนเดนซีที่ไม่ค่อยมีใครรู้จัก และเมื่อการสร้างแอปพังขึ้นมาอย่างลึกลับ ดีเพนเดนซีที่ไม่ตรงกันมักจะเป็นผู้ต้องสงสัยอันดับต้นๆ ซึ่ง "ลบและติดตั้งแพ็กเกจใหม่" เป็นวิธีแก้ที่ใช้ได้จริงและพบบ่อย