~/VibeHandbook
免費 PDF

05 · 04

包和依賴

沒有人會從零開始寫一整個應用。那些又難又常見的問題——格式化日期、處理支付、渲染一個日曆——別人早就解決好並打包好了。一個**包(package)就是一塊可複用的程式碼,你把它拉進自己的專案,而不用自己去寫。你專案的依賴(dependencies)**就是它所依賴的那一串包的清單。

在 JavaScript 的世界裡,管這件事的工具是 npm(Node Package Manager,Node 包管理器)。有兩個檔案負責記賬:

  • package.json —— 人類可讀的清單,列出你的專案需要什麼,外加執行它的命令。這個檔案是由你(或者 AI)來編輯的。
  • 鎖檔案 lockfilepackage-lock.json 或類似的檔案)—— 一份精確的、由機器生成的記錄,記下每一個包及其確切的版本,好讓這個應用在你的機器、隊友的機器、以及伺服器上都構建得一模一樣。這個檔案你不用手動去改;交給工具去管理就好。
{
  "name": "my-app",
  "scripts": {
    "dev": "next dev",
    "build": "next build"
  },
  "dependencies": {
    "next": "16.0.0",
    "react": "19.0.0"
  }
}

為什麼要在意這些?當 AI 說 "我們加一個庫來做這個吧" 時,它就是在編輯 package.json,而你正在信任別人的程式碼——更少、更知名的依賴,比一堆來路不明的依賴要安全。還有,當一次構建莫名其妙地壞掉時,依賴版本對不上是常見的嫌疑犯,而 "刪掉再重新安裝這些包" 是一個實實在在、很常用的修法。

想離線閱讀?

免費下載整本書的 PDF 或 EPUB。