~/VibeHandbook
PDF miễn phí

Chương 05 · 04

Package và dependency (gói mã và các thành phần phụ thuộc)

Không ai viết cả một ứng dụng từ số 0. Những bài toán khó và phổ biến — định dạng ngày tháng, xử lý thanh toán, hiển thị lịch — đã được người khác giải quyết và đóng gói sẵn từ trước. Một (gói mã) là một khối mã lệnh có thể tái sử dụng, mà bạn kéo vào dự án của mình thay vì tự viết nó. Các (thành phần phụ thuộc) của dự án là danh sách những package mà nó dựa vào.

Trong thế giới JavaScript, công cụ quản lý việc này là npm (Node Package Manager — Trình quản lý Gói của Node). Hai tệp đảm nhận việc ghi sổ này:

  • package.json — danh sách dễ đọc, do con người quản lý, liệt kê những gì dự án của bạn cần, cùng với các lệnh để chạy nó. Bạn (hoặc AI) chỉnh sửa tệp này.
  • tệp khóa () (package-lock.json hoặc tương tự) — một bản ghi chính xác, do máy tự sinh ra, của mọi package cùng phiên bản chính xác của nó, để ứng dụng được xây dựng giống hệt nhau trên máy của bạn, máy của đồng đội, và trên máy chủ. Bạn không tự tay chỉnh sửa tệp này; bạn để công cụ tự quản lý nó.
{
  "name": "my-app",
  "scripts": {
    "dev": "next dev",
    "build": "next build"
  },
  "dependencies": {
    "next": "16.0.0",
    "react": "19.0.0"
  }
}

Tại sao phải quan tâm? Khi AI nói "hãy thêm một thư viện cho việc này," nó đang chỉnh sửa package.json và bạn đang đặt niềm tin vào mã của người khác — càng ít dependency và càng nổi tiếng thì càng an toàn hơn là một đống dependency lạ hoắc. Và khi một bản build đột nhiên bị hỏng một cách bí ẩn, một dependency không khớp là nghi phạm thường gặp, và "xóa rồi cài lại các package" là một cách sửa thật, phổ biến.

Muốn bản ngoại tuyến?

Tải trọn cuốn sách dưới dạng PDF hoặc EPUB — miễn phí.