一文讲懂npm link

前言

在本地开发npm模块的时候,我们可以使用npm link命令,将npm 模块链接到对应的运行项目中去,方便地对模块进行调试和测试

用法

包链接是一个两步过程:

1.为依赖项创建全局软链npm link。一个符号链接,简称软链,是一个快捷方式,指向系统上的其它目录或文件

2.告诉应用程序使用全局软链npm link some-dep

复制代码
cd ~/projects/some-dep 
npm link # 步骤 1. 
cd ~/projects/my-app 
npm link some-dep # 步骤 2.

我们可以像往常一样在some-dep项目上进行开发. 然后my-app依赖some-dep也是最新的代码。软链是指向本地的,并不会提交到git,这非常有利于我们的调试

调试

❝如果使用VSCode并想在some-dep中设置断点,你需要在调试器中为my-app启用软链。这样做是通过设置 ❞

复制代码
"runtimeArgs":[ 
  "-- preserve -symlinks" 
]

在launch.json。

在代码中的调试配置中启用符号链接

恢复

❝当我们不想再使用本地版本时some-dep,请删除软链。但请注意,npm unlink是npm uninstall的别名 ❞

复制代码
cd ~/projects/my-app 
npm uninstall --no-save some-dep && npm install

也清理全局链接,但它的存在不会影响到my-app.

复制代码
cd ~/projects/some-dep 
npm uninstall # 删除全软链链接

总结

npm-link | npm 中文网符号链接包文件夹https://npm.nodejs.cn/cli/v10/commands/npm-link

掌握npm link的两步流程是对任何Node.js开发者的工具集的一个有益补充。这个过程包括在依赖关系中运行npm link,以及在应用中运行npm link some-dep。(另外多提一点现代包管理工具pnpm也是利用软链来管理它的依赖视图)

相关推荐
over6975 小时前
用 React Context 实现全局主题切换:从零搭建暗黑/亮色模式系统
前端·react.js·面试
ycgg5 小时前
深入理解 AbortSignal:前端异步操作取消的原生方案
前端
妮妮喔妮5 小时前
前端字节面试大纲
前端·面试·职场和发展
白兰地空瓶5 小时前
告别“千里传荔枝”:React useContext 打造跨层级通信“任意门”
前端·react.js
恋猫de小郭6 小时前
Flutter 小技巧之帮网友理解 SliverConstraints overlap
android·前端·flutter
小oo呆6 小时前
【自然语言处理与大模型】LangChainV1.0入门指南:核心组件Structured Output
前端·javascript·easyui
Mapmost6 小时前
【高斯泼溅】3DGS城市模型从“硬盘杀手”到“轻盈舞者”?看我们如何实现14倍压缩
前端
AC赳赳老秦6 小时前
农业智能化:DeepSeek赋能土壤与气象数据分析,精准预测病虫害,守护丰收希望
java·前端·mongodb·elasticsearch·html·memcache·deepseek
囊中之锥.6 小时前
《HTML 网页构造指南:从基础结构到实用标签》
前端·html
饼饼饼6 小时前
从 0 到 1:前端 CI/CD 实战(第二篇:用Docker 部署 GitLab)
前端·自动化运维