依赖
Dependency
中级通用依赖(Dependency)是项目运行、构建或测试时需要用到的外部代码包或其他前提。弄清依赖关系,能帮你判断项目为什么能跑、缺了什么会报错,以及升级一个包可能影响哪里。
你可能会说:「帮我看看这个网站项目用了哪些外部代码包,新增功能时还需要安装什么?」
读之前建议先了解
动手看看预约网站少了日期工具包
1
预约网站要显示选日期的控件,就得加载日期组件包。网站直接使用它,所以它是直接依赖。
要点项目依赖是怎么起作用的?
- 1
用到别人的包就形成依赖关系
比如你做一个后台,安装日期处理包来计算报表区间。项目代码调用了这个包的功能,就依赖它;少了它,相应代码可能无法构建或运行。
- 2
直接用和间接用要分清楚
你安装的图表包可能还需要别的包,这些是间接依赖。如果你的代码直接调用了某个包,即使它碰巧已被图表包带进来,也要把它明确列为项目的直接依赖,避免图表包升级后它突然消失。
- 3
不同用途的依赖影响不同阶段
网页运行时要用的包,和只在开发时做测试、检查代码的包,用途不同。让 AI Agent 加依赖时,你可以先说清它在哪个阶段使用,再让它检查项目已有配置和版本,避免重复安装。
容易混淆的地方
依赖说的是「这个项目要靠什么才能工作」的关系;npm 是管理 JavaScript 包的工具,不是依赖本身。插件通常给现有工具增加能力,也可能作为依赖安装。还有些依赖不是代码包,比如网站调用的支付服务;它同样是外部前提,但不能靠安装一个包就保证可用。
什么时候用
适合用
- 给网站加入图表功能时,先查项目是否已有图表包,再决定是否新增依赖。
- 接手一个无法启动的项目时,检查依赖是否安装、配置的版本是否匹配。
- 让 AI Agent 升级某个代码包时,要求它检查受影响的间接依赖并运行测试。
不适合用
- 只是给页面上的金额补一个货币符号时,用现有代码即可,不必新增格式化包。
- 项目已有合适的日期处理工具时,先复用它,不必为同一功能再加一个包。
- 要让网站调用支付服务时,不能只靠安装依赖解决;还要处理接口接入、凭证和服务配置。
练一练选一个答案,看看解释
你做的后台直接调用了一个日期处理包,但它目前只是被图表包间接安装的。AI Agent 准备升级图表包,你会怎么处理?
让 AI 帮你做复制给 AI Agent 直接用
请检查这个项目的依赖:列出与新增报表功能有关的现有代码包,说明哪些是直接依赖。若确实需要新增包,解释用途、使用阶段和版本选择;完成修改后运行相关测试,并告诉我依赖配置改了哪里。