@subject: 测试本地node包 @author: leinov @date: 2018-10-25

当我们编写一个node包,在发布到npm上之前,需要在本地测试该包。假设我们有一个已经编写好的本地node包​​xcxutil​​包和一个测试该包的项目​​myapp​​在同一个文件夹下​​project​​下,有以下两种方式可以在​​myapp​​项目中测试本地的​​xcxutil​​包


|-- project
|-- myapp
|-- xcxutil


相对路径安装xcxutil测试

进入项目目录,按照相对路径找到xcxutil包,直接安装。


cd myapp
npm install ../xcxutil


然后进入​​myapp​​中的​​node_modules​​文件夹检查是否安装成功,一般情况下只要路径正确,node包编写正确,都会安装成功,这样就可以在myapp中使用​​xcxutil​​。


const xcxutil = require('xcxutil');


注意,​​myapp​​目录下必须要有​​package.json​​文件,否则无法安装任何node包。

使用 npm link 连接到全局测试

上面的情况是node包和测试项目在同一个文件夹下,所以很方便的就找到路径,但很多情况是我们本地项目众多,分布在不同的文件夹下,所以找路径就很麻烦了,所以我们推荐使用​​npm link​​这种将node包连接到全局的方式。


cd xcxutil
npm link


执行上面命令得到以下输出


/Users/leinov/.nvm/versions/node/v8.11.3/lib/node_modules/xcxutil -> /Users/leinov/project/xcxutil


意思是将​​project​​下的​​xcxutil​​连接到全局的​​node_modules​​下,我们进入全局​​node_modules​​包下也可以查看到​​xcxutil​​包

然后在myapp中也link一下该包即可测试使用


cd myapp
npm link xcxutil


这样xcxutil就被安装到myapp下啦,在xcxutil下的修改也会同步到myapp下,就可以实现本地测试了,

取消在全局的连接


cd xcxutil
npm unlink