npm包本地调试方法
npm包开发时,我们不可能每次都执行发布后再进行测试,那我们怎么进行本地调试呢?
本文假如要调试的包为 my-test-0807
,包源文件地址为 D:\my-test-0807
一、直接安装本地的包
npm install D:\my-test-0807
安装完成后,可以在 node_modules
文件夹中看到 my-test-0807
文件夹,然后我们还可以看到文件名的最右边会有个箭头,这个箭头表示这是一个符号链接,符号链接也称为软链接,类似于windows系统中的快捷方式,它是一种特殊的文件,其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用。
我们在控制台执行:
ll node_modules
在打印出来的东西中我们可以看到 my-test-0807
这个符号链接指向的实际文件, 也就是D:\my-test-0807
二、使用 npm link
使用 npm link 时,我们需要分两步来执行。
第一步,在我们包源文件根目录下执行:
npm link
将该包链接到本地全局环境
第二步,在我们需要使用该包的项目里进行链接:
npm link my-test-0807
然后我们可以看到 node_modules
中出现了 my-test-0807
符号链接。
这两步其实也可以合并为一步,直接在需要使用该包的项目里进行链接:
npm link D:\my-test-0807
要取消全局链接时,可以在包源文件的根目录下执行:
npm unlink
也可以直接删除符号链接。
三、使用 npm install
在包源文件的父级目录中执行:
npm install -g my-test-0807
执行完之后我们会发现,它也创建了一个全局链接,看到这里我想很多人都会疑惑,这条命令不是安装已经发布的 npm
包吗,为什么会创建一条符号链接?其实当我们执行install
命令时,如果当前目录下有该包,npm
则会给我们创建该包的全局链接,而不是去下载已经发布的包。如果当前目录下没有该包,npm
会给我们下载已经发布的包。
然后就跟第二种方法一样,在我们需要使用该包的项目里进行链接:
npm link my-test-0807