本地调试npm包

补一下记录。

要在本地调试 npm 包,一般可以按照以下步骤进行操作:

  1. 创建项目目录和包: 在合适的文件夹中创建一个新的文件夹,作为项目目录。然后在项目目录中使用命令行运行以下命令创建一个新的 npm 包:

    mkdir my-package
    cd my-package
    npm init
    

    按照提示填写 npm 包的信息。

  2. 编辑代码: 在项目目录中编辑包的代码,可以使用任何文本编辑器。确保代码是可以运行的,并且可以被外部项目引用。

  3. 链接本地包: 使用 npm 的 npm link 命令将本地包链接到全局 npm 包安装中,使得其他项目可以像引用正常的 npm 包一样引用包。

    在包的项目目录中运行:

    npm link
    

    如果使用的 yarn 可以用

    yarn link
    
  4. 创建测试项目: 在另外一个文件夹中创建一个用于测试的新项目,然后在该项目中使用以下命令将本地包链接到该测试项目:

    mkdir my-test-project
    cd my-test-project
    npm init
    npm link my-package
    

    如果使用的 yarn 可以用

    yarn link my-package
    

    这会将本地包链接到测试项目的 node_modules 目录中。

  5. 测试和调试: 在测试项目中,你可以像使用任何其他 npm 包一样使用本地包。修改本地包的代码后,重新构建、测试和调试。任何对本地包的更改都会立即反映在测试项目中。

  6. 取消链接(可选): 在完成调试后,如果你想要断开本地包和测试项目之间的链接,可以在测试项目中运行以下命令:

    npm unlink my-package
    

    或者

    yarn unlink my-package
    

    在本地包项目目录中运行以下命令来取消将本地包链接到全局 npm 包安装中:

    npm unlink
    

    或者

    yarn unlink
    

上述方式由于测试项目和 npm 属于不同的项目,当安装同一个依赖但版本不同时就会存在多个副本,刚好这个依赖又不支持多例这时应用就会报错,特别是在 react 项目开发的时候,具体报错信息和解决方法:解决 npm link 导致的 react Invalid hook call 错误

更好的调试方案:使用 yalc,具体可看下面参考资料。

参考资料

如何方便的在本地调试npm包

recat 错误提示