Npm link的作用与使用示例代码
AI3D_WebEngineer 人气:0一、为什么要用Npm link
库包在开发或迭代后,不适合发布到线上进行调试(过程繁琐且会导致版本号膨胀)
二、Npm link工作原理
`npm link` 可以帮助我们模拟包安装后的状态,它会在系统中做一个快捷方式映射,让本地的包就好像 install 过一样,可以直接使用。
三、Npm link的使用
同一目录下的使用
// 进入应用文件夹 $ cd xxx/project_npmlink/project1 // 软链接 $ npm link ../module1
npm link
操作会在项目的node_modules
目录下创建一个module1
的超链接(类似 Windows 的快捷方式),链接到 project_npmlink/module1
。生成的虚拟包名会根据module1的package.json进行指定。
不同目录下使用:
项目和模块不在同一个目录下,需要先把模块链接到全局,然后再在项目中链接模块
$ cd xxx/project_npmlink/module1 $ npm link
npm link 操作会在全局 node_modules 目录下创建一个 module-name 的超链接。
// 再去项目目录 $ cd xxx/project_npmlink/project1 // 通过包名建立链接 $ npm link module1
此时只需要指定 module-name,在项目的 node_modules 目录下创建一个 module-name 的超链接,链接到 /usr/local/lib/node_modules/module-name,然后再由全局目录下的超链接,链接到具体的代码目录下。
三、删除npm link的链接
解除项目和模块的链接
// 进入项目目录,解除链接 $ cd xxx/project_npmlink/project1 $ npm unlink module1
解除模块的全局链接
// 进入项目目录,解除链接 $ cd xxx/project_npmlink/module1 $ npm unlink module1
补充:npm link
记录一下,开发npm包时要在项目中调试,可以在npm包中执行npm link 链接到全局, 在项目中npm link xxxxx(npm包名);当调试完成后,解除npm link 可以在项目中执行 npm unlink xxxx(npm包名)
第二种方法,npm list -g --depth 0查看全局安装的包,找到全局包的路径,直接删除这个文件
加载全部内容