美文网首页
本地调试 npm 模块 —— npm link

本地调试 npm 模块 —— npm link

作者: 你瞅瞅你写的bug | 来源:发表于2023-10-09 15:55 被阅读0次

背景

在项目开发过程中,随着项目越来越大,公共的组件或方法越来越多,会将一些功能封装成可独立发布的npm包。但在开发调试的时候存在一个问题,如何将使用该库的项目代码集成测试?

方案

1、修改后直接发布npm或私库(不推荐)

问题

每次发布到 npmjs 或私库,都会导致版本号更新太频繁。

2、用软连接(不推荐)

问题

用软连接,各个文件夹切来切去,还得找到 global npm 包的位置。

3、用软连接(不推荐)使用 npm 命令npm link

1、相同目录下的链接

项目和模块在同一个目录下,可以直接使用相对路径链接

// 进入项目目录
cd path/to/my-project
// 链接模块目录
npm link path/to/my-module

npm link 操作会在项目的 node_modules 目录下创建一个 module-name 的超链接(类似 Windows 的快捷方式)或称 symlink,链接到 path/to/my-module。
path/to/my-projectpath/to/my-module 都是二者 package.json文件所在的目录。
module-name 依据 npm 模块的 package.json 指定。

2、不同目录下的链接

项目和模块不在同一个目录下,需要先把模块链接到全局,然后再在项目中链接模块

// 先去到模块目录,把它链接到全局
cd path/to/my-module
npm link

npm link 操作会在全局 node_modules 目录(如 MacOS 默认的是 /usr/local/lib/node_modules)下创建一个 module-name 的超链接。

// 再去项目目录
cd path/to/my-project
// 通过包名建立链接
npm link module-name

此时只需要指定 module-name,在项目的 node_modules 目录下创建一个 module-name 的超链接,链接到 /usr/local/lib/node_modules/module-name,然后再由全局目录下的超链接,链接到具体的代码目录下。

3、解除链接

解除项目和模块的链接

// 进入项目目录,解除链接
$ cd path/to/my-project
$ npm unlink module-name

解除模块的全局链接

// 进入项目目录,解除链接
$ cd path/to/my-project
$ npm unlink module-name

拓展-京东小程序

建立连接后,需要在京东小程序中重新构建npm包,由于指定的npm包只能链接到node_modules下,如果依赖包的路径有特殊处理,则需要重新构建npm包。如果被单独拿出来的依赖包没有更新,建议删除node_modules,重新执行一遍。


f013c44a8db37365751ad0ebef1809a.png

相关文章

  • 本地调试 npm 模块 —— npm link

    在 Node 开发过程中随着代码规模的增加,会把一些基础模块封装成独立发布的 npm 包,供所有项目使用。但问题来...

  • NPM

    npm link 可以用于自己本地开发的模块调试过程, 避免每次都publish npm包,然后安装调试。 1. ...

  • 本地模块联调

    npm link 用来在本地项目和本地 npm 模块之间建立连接,可以在本地进行模块联调。 具体用法: 项目和模块...

  • npm link

    场景 在本地开发模块的时候,可以npm link命令,将模块链接到对应的运行项目中去,方便地对模块进行调试和测试 ...

  • npm link的使用

    功能 在本地开发npm模块的时候,我们可以使用npm link命令,将npm 模块链接到对应的运行项目中去,方便地...

  • npm link 的用法

    功能 在本地开发npm模块的时候,我们可以使用npm link命令,将npm 模块链接到对应的运行项目中去,方便地...

  • 小程序开发如何使用npm

    构建npm 开启“使用npm模块”(右上角详情-本地设置-勾选使用npm模块)使用npm模块 初始化npm npm...

  • 使用npm link 加速调试

    使用npm link 加速调试 我们在把包发布到npm上时,如果需要对本地的包进行修改,我们需要改变一个版本,重新...

  • NodeJS利用npm 安装删除模块

    npm安装模块 利用 npm 安装xxx模块到当前命令行所在目录; 利用npm安装全局模块xxx; 本地安装时将模...

  • npm安装依赖包

    mac下安装npm npm查看版本 npm安装node模块 npm本地安装lodash 安装包放在 ./node_...

网友评论

      本文标题:本地调试 npm 模块 —— npm link

      本文链接:https://www.haomeiwen.com/subject/ilubbdtx.html