我是靠谱客的博主 怕孤单小蜜蜂,最近开发中收集的这篇文章主要介绍如何修改 node_modules 中项目依赖的源代码实现,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

此处使用 yarn 讲解,使用 npm 也是相同的原理

要想修改依赖包的源代码,第一想法是直接在 node_modules 中找到包位置,直接修改这里的代码,然后编译。这种方式是不会生效的。原因在于 yarn 安装依赖包时,除了从仓库拉取对应文件外,还会根据 pakcage.json 进行编译。这就会导致修改后的代码无法发挥作用。如果你想修改后调用 yarn install,之前修改的代码就会被从仓库拉去的代码覆盖。

好在 yarn 提供了对应的指令 link。该指令有两个作用,一个是将指定的 npm 包发布到本地全局引用,这样别的项目就可以通过特定命令使用本地发布的包替代仓库的包。另一个作用是在工程中,指定本工程使用本地的版本,不使用仓库版本。所以具体使用本地源代码替代仓库版本的具体流程如下:

// 01. the package name is test22 for example
git clone <package repo url>
// 02.
cd <package dir>
yarn install && yarn run build
yarn link
// 03.
cd <project dir which depent the package>
yarn link test22
// 04.
yarn install --force
// other commands used for build your project. eg: yarn build
yarn build

在 lerna 管理的项目中使用本地代码

使用 lerna 管理项目时,步骤 01-03 都一样,不一样的是,此时不能使用 yarn install --force 来安装,应该使用 lerna bootstrap --force-local 。这样就可以了。

解除本地引用

如果想继续使用仓库版本的代码,使用 unlink 指令做相反的操作就可以。

最后

以上就是怕孤单小蜜蜂为你收集整理的如何修改 node_modules 中项目依赖的源代码实现的全部内容,希望文章能够帮你解决如何修改 node_modules 中项目依赖的源代码实现所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(72)

评论列表共有 0 条评论

立即
投稿
返回
顶部