一文讲懂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的两步流程是对任何Node.js开发者的工具集的一个有益补充。这个过程包括在依赖关系中运行npm link,以及在应用中运行npm link some-dep
。(另外多提一点现代包管理工具pnpm
也是利用软链来管理它的依赖视图)
一文讲懂npm link相关推荐
- 什么是请求参数、表单参数、url参数、header参数、Cookie参数?一文讲懂
最近在工作中对 http 的请求参数解析有了进一步的认识,写个小短文记录一下. 回顾下自己的情况,大概就是:有点点网络及编程基础,只需要加深一点点对 HTTP 协议的理解就能弄明白了. 先分享一个小故 ...
- 一文讲懂什么是三层交换机、网关、DNS、子网掩码、MAC地址
点击上方"朱小厮的博客",选择"设为星标" 后台回复"书",获取 很多朋友多次问到什么是网关.dns.子网掩码,三层交换机,它们定位的用途: ...
- 一文讲懂什么是 vlan、三层交换机、网关、DNS、子网掩码、MAC地址
来自:有为网络服务 很多朋友多次问到什么是网关.dns.子网掩码,三层交换机,它们定位的用途:确实,因为网络技术在弱电中确实应用非常广泛,我们平时在vip技术群中也是不断的讨论到网关.vlan.三层交 ...
- 一文讲懂召回中的 NCE NEG sampled softmax loss
深度学习中与分类相关的问题都会涉及到softmax的计算.当目标类别较少时,直接用标准的softmax公式进行计算没问题,当目标类别特别多时,则需采用估算近似的方法简化softmax中归一化的计算. ...
- 一文看懂npm、yarn、pnpm之间的区别
原文:Understanding differences between npm, yarn and pnpm 作者:Alex Kras 翻译:雁惊寒 本文作者对比了当前主流的包管理工具npm.yar ...
- 一文讲懂图像处理中的低通、高通、带阻和带通滤波器
点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 空间域和频域滤波器通常分为四种类型的滤波器--低通.高通.带阻和带 ...
- 一文讲懂SQL分组子句GROUP BY
大家好,我是宁一. 今天讲解SQL教程第15课:GROUP BY子句. GROUP BY子句是用来给结果集分组的,通常与我们上节课讲的聚合函数结合使用. 基本语法: SELECT <字段名> ...
- 一文讲懂数据库隔离级别
文 | 豆豆 来源:Python 技术「ID: pythonall」 相信做后端开发的童鞋肯定没少和数据库打交道,提起数据库,又不能不说数据库事务隔离级别,毕竟这是保证数据可靠一致的重要基石.网上介绍 ...
- 一文讲懂什么是函数柯里化,柯里化的目的及其代码实现
柯里化(Currying) 柯里化(Currying)[1]是一种关于函数的高阶技术.它不仅被用于 JavaScript,还被用于其他编程语言. 柯里化是一种函数的转换,它是指将一个函数从可调用的 f ...
最新文章
- C++知识点34——动态内存与智能指针
- Sublime Text 新建文件的模版插件: SublimeTmpl
- 为什么redis是单线程的以及为什么这么快?
- Netty实战 IM即时通讯系统(八)服务端和客户端通信协议编解码
- LeetCode 100. 相同的树(二叉树遍历)
- Unity3d--跨平台(一)
- JSP的9个内置对象-application
- int indexs=(int)(_v+0.5);
- Nacos集群(二)阿里自研弱一致性Distro协议核心实现
- 超星尔雅不让下载?课件,拿来吧你!
- hpsocket java代码_java版本调用HP-Socket服务端代码
- Antd DatePicker之旬查询(本月上旬、本月中旬、本月下旬)
- 自学Java day17 jvav网络编程 从jvav到架构师
- HTML 表格与表单 个人简历
- 简单易懂的关键词挖掘方法
- idea 模块jdk依赖总是自动变为jdk1.5
- 消防宣传科普|消防安全知识网上答题挑战赛活动方案
- 苹果桌面主题_看腻了手机自带的桌面主题,试试这个
- 将数据集Voc .xml转为Matlab 的GroundTruth
- Jeewx-Boot 1.1 版本发布,基于SpringBoot的开源微信管家系统