跳到正文

npm

中级通用

npm 是 JavaScript 项目常用的包管理工具,也指它使用的包仓库。你可以用它安装别人发布的代码包、记录项目依赖并运行项目脚本,省去手动下载和整理文件的麻烦。

你可能会说:「我想给网站加一个现成的图表库,还想让队友拉下代码后能装好同样的依赖。」

读之前建议先了解

动手看看

运行脚本缺少依赖终端npm 工具找不到命令包仓库原型项目尚未安装
1

项目已配置预览脚本,但还没安装依赖。执行 npm run dev 时找不到 Vite,预览没能启动。

要点

  1. 1

    把外部代码装进项目里

    比如你做后台报表要画图,可以用 npm 安装图表库。它会下载这个包及其需要的其他包;你的代码再通过导入语句使用它,而不是把库的源码复制进项目。

  2. 2

    记录依赖和安装结果

    package.json 记录项目声明了哪些依赖,锁文件记录具体安装版本。把这两个文件交给队友,大家就能按同一份记录安装;通常不用把下载好的依赖目录一起提交。

  3. 3

    用脚本统一常见命令

    项目可以在 package.json 里给启动、测试、构建等操作起名字。你运行 npm run build 时,npm 执行的是项目写好的构建脚本;它并不负责发明构建流程。

容易混淆的地方

npm 和 Node.js 常一起出现,但不是一回事:Node.js 是运行 JavaScript 的环境,npm 负责获取和管理项目依赖、运行脚本。npm 也不等于某个图表库;图表库是你通过 npm 安装的包。别人说「发到 npm」,通常指把包发布到 npm 使用的包仓库。

什么时候用

适合用

  • 你在做 React 后台,需要加入图表、日期处理等现成代码包,并让团队共享依赖记录。
  • 你和 AI Agent 接手一个已有的 Node.js 项目,需要按项目记录安装依赖,再运行测试或构建脚本。
  • 你开发一个可供其他 JavaScript 项目复用的组件库,准备把它作为包发布和更新。

不适合用

  • 你只做一个无需构建、也不引用外部代码包的静态页面,直接写 HTML 和 CSS 就够了。
  • 你在维护纯 Python 项目,要安装 Python 依赖时,使用该项目选定的 Python 包管理工具。
  • 你只是想让已完成的网站对外可访问,需要的是部署和网站托管,而不是靠 npm 完成上线。

练一练

你让 AI Agent 接手一个已有网站项目。仓库里有 package.json 和锁文件,同事希望在另一台机器上尽量按锁文件安装依赖,再运行项目测试。你会让 Agent 怎么做?

让 AI 帮你做

请先查看这个项目的 package.json 和锁文件,确认它使用 npm 管理依赖。不要更换包管理工具;按锁文件安装依赖,运行已有的测试和构建脚本,并告诉我新增依赖的用途及改动了哪些依赖记录。

接下来学什么