Npm link专门用于开发和调试本地Npm模块,能做到在不发布模块的情况下,把本地的一个正在开发的模块的源码链接到项目的node_modules目录下,让项目可以直接使用本地的Npm模块。 由于是通过软链接的方式实现的,编辑了本地的Npm模块代码,在项目中也能使用到编辑后的代码。

简单使用

我们先在一个目录下新建我们的开发模块ccc-loader,里面放入index.js(里面随便放入什么内容)和package.json,其中package.json内容如下:

{
  "name": "ccc-loader",
  "version": "1.0.0",
  "description": "",
  "main": "index.js"
}

新建好的目录结构如下:

通过命令行,进入ccc-loader,执行npm link命令,得到结果如下:

注意看最后一行,箭头后面是ccc-loader的真实路径,前面是ccc-loader注册到全局模块后的路径,这两者已经关联上了,表示本地模块已经成功注册到了全局上。

现在进入我们需要ccc-loader模块的项目(项目中已经存在node_modules目录):

执行npm link ccc-loader:

undefined

最前面的路径是项目路径node_modules,中间是模块全局位置, 最后是真实项目路径,现在它们三者已经关联上了:

现在我们在真实路径上修改了东西,那么映射文件夹也会跟着改变。

解除关联

解除项目和模块link,项目目录下,npm unlink 模块名

解除模块全局link,模块目录下,npm unlink 模块名

回到顶部
我要评论

所有评论

返回
邮箱:
绑定
取消
×

我要评论

回复:

昵称:(昵称不超过20个字)

图片:

邮箱:
绑定邮箱后,若有回复,会邮件通知。
提交
还可以输入500个字