~/VibeHandbook
$39

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 + 可下载的提示词库 + 版本更新。

$ 获取 PDF — $39