文章中如果有图看不到,可以点这里去 csdn 看看。从那边导过来的,文章太多,没法一篇篇修改好。

【npm 本地测试】本地项目 A 引用并测试本地更新的项目 B 方法

要在本地项目A中引用并测试本地更新的项目B,你可以通过以下步骤调整配置:

方法一:使用 npm link(推荐)

  1. 在项目B中创建全局链接

    cd /path/to/project-B
    npm link
    
  2. 在项目A中链接项目B

    cd /path/to/project-A
    npm link package-name-of-B
    

    package-name-of-B 是项目B的package.json中的 "name" 字段值)

  3. 验证链接
    检查项目A的 node_modules 目录,应出现指向项目B的软链接(符号链接)。
    在这里插入图片描述

方法二:直接修改 package.json(无需发布)

在项目A的 package.json 中,将项目B的依赖项改为本地路径:

"dependencies": {
  "package-name-of-B": "file:../relative/path/to/project-B"
}

然后运行:

cd /path/to/project-A
npm install

方法三:使用 yarn(若使用yarn)

  1. 项目B中

    cd /path/to/project-B
    yarn link
    
  2. 项目A中

    cd /path/to/project-A
    yarn link package-name-of-B
    

关键注意事项:

  1. 实时同步

    • 使用 npm linkyarn link 时,项目B的代码变更会自动同步到项目A(无需重新安装)。
    • 直接修改 package.jsonfile: 路径后,每次项目B更新需在项目A中重新运行 npm install
  2. 解除链接

    # 在项目A中解除链接
    npm unlink package-name-of-B
    # 恢复原始依赖(如从npm仓库安装)
    npm install package-name-of-B
    
  3. 构建依赖

    • 如果项目B是库(需构建),确保先构建项目B(如运行 npm run build),使项目A能引用最新输出文件。
  4. 版本冲突

    • 如果项目A的 node_modules 已有其他版本的B,先卸载:
      npm uninstall package-name-of-B
      

示例流程:

# 项目B目录
cd ~/projects/B
npm link         # 创建全局链接

# 项目A目录
cd ~/projects/A
npm link my-lib  # "my-lib"是B的package.json中的name
npm start        # 启动测试

完成测试后,恢复项目A的原始依赖:

npm unlink my-lib
npm install my-lib@latest  # 或指定版本

通过以上方法,你可以直接在本地测试项目B的更新,无需发布到npm仓库。

posted @ 2025-09-16 10:15  NeoLshu  阅读(5)  评论(0)    收藏  举报  来源