node_modules插件代码修改,如何快速修改防止npm install安装覆盖代码

这篇具有很好参考价值的文章主要介绍了node_modules插件代码修改,如何快速修改防止npm install安装覆盖代码。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、背景

有些组件不满足业务时咱们只能修改插件的源码:

  1. 直接在项目的node_modules下找到插件的源码直接修改;
    • 优点:简单直接、快速见效;
    • 缺点:不能持久化,一旦重新npm install安装就失效;不方便团队成员使用修改后的代码;
  2. 去github上fork代码到自己的仓库进行修改,并将自己修改过后的代码发布到npm上使用;
    • 优点:团队成员都可以使用到这份修改的代码;
    • 缺点:麻烦、十分麻烦;

在网上找了很多解决方案最多的是patch-package 但是我们使用的组件包来源民间大神修改,改动范围广,导致使用这个根本没有用,还产生冲突。所以找到了覆盖组件代码的方法简单粗暴。

二、替换插件包(拷贝覆盖法)

npm install 完成后会执行package.json 文件里的script内的postinstall钩子。在这个勾子执行cp 修改过的文件 ./node_modules/包名/原始文件拷贝过去,最终node_modules下的文件就变成了修改后的文件了,应用在本篇element-ui例子中如下:

在自己的项目中存放修改插件包,如下图:element-ui

node_modules插件代码修改,如何快速修改防止npm install安装覆盖代码

最后在package.json文件里加入下图的代码:

其中要加-r 不然只能拷贝文件不能拷贝文件夹 ;源文件最后要加*来移动文件内所有的文件夹以及文件;

"postinstall": "cp -r ./element-ui/* ./node_modules/element-ui"

node_modules插件代码修改,如何快速修改防止npm install安装覆盖代码

 即在每次install包后执行用修改后文件覆盖原始文件逻辑。

三、引用自定义包 (引用法)

另外一种是直接将自定义模块放在node_modules外面的另一个目录中,并将其作为文件引用添加到package.json 使用时要把package-lock.json文件删除再npm install 安装依赖。文章来源地址https://www.toymoban.com/news/detail-487807.html

"dependencies": {
   "yu-element-ui": "file:yu-element-ui"
 }

到了这里,关于node_modules插件代码修改,如何快速修改防止npm install安装覆盖代码的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 快速删除 node_modules

    node_modules 文件夹中包含了大量 node 需要的依赖包,如果直接删除的话,非常耗时。 我们可以通过以下方式快速删除node_modules: 安装 rimraf rimraf包的作用:以包的形式包装rm -rf命令,用来删除文件和文件夹的,不管文件夹是否为空,都可以删除。 执行 命令来全局安装 rimraf 进入

    2024年02月13日
    浏览(41)
  • 修改node_modules里的源码

    最近在工作中使用到一款生成二维码的依赖(以vue项目为例讲解):vue-qr,安装的4.0.9版本的,在启动工程的时候报错: 后我查阅各种资料发现 1,找到node-modules下面的vue-qr文件夹 2,打开vue-qr文件夹下面的dist下面的 vue-qr.js 3,搜索 ‘…’ 字段 4, 删除 e 前面的 三个点,然后

    2024年02月14日
    浏览(53)
  • 快速删除node_modules文件夹

    前端开发过程中,经常会遇到npm操作问题,有时候不得不需要删除node_modules目录下所有的文件,然后重新npm install 清除缓存:运行 npm cache clean --force 命令来清除 npm 缓存。然后运行 npm install 命令重新安装依赖项。 删除 node_modules 目录:手动删除项目目录下的 node_modules 目录,并运

    2024年02月02日
    浏览(37)
  • 通过nodejs修改node_modules中的源码

    在开发项目时,当node_modules中的默认配置不满足当前项目需求时,就需要对node_modules中相应的源码进行修改。但如果直接操作源码进行手动修改,代码不会同步到仓库中,当其他人拉取代码进行开发时,或者执行了npm install后源码依旧是默认配置。而此时则可以通过nodejs对源

    2024年02月05日
    浏览(41)
  • Vue项目快速删除node_modules文件

    vue项目开发过程中,需要重新安装node_modules文件,但删除之前的node_modules文件较慢,推荐使用命令的方式可以提高开发效率。

    2024年04月28日
    浏览(27)
  • 最快速删除node_modules的几种方式

    先全局安装npm包 删除 node_modules 文件夹命令

    2024年02月08日
    浏览(33)
  • vue修改node_modules打补丁步骤和注意事项

    当我们使用 npm 上的第三方依赖包,如果发现 bug 时,怎么办呢? 想想我们在使用第三方依赖包时如果遇到了bug,通常解决的方式都是绕过这个问题,使用其他方式解决,较为麻烦。或者给作者提个issue,然后等待作者的修复,等待的时间不可控。那么这时候是不是就可以借助

    2024年02月04日
    浏览(41)
  • 【patch-package】修改node_modules下的依赖包源码

    场景:当项目里使用的element-ui有bug,但是项目里又急需修改这bug,这个时候就需要给依赖打补丁啦~ lets app authors instantly make and keep fixes to npm dependencies. It\\\'s a vital band-aid for those of us living on the bleeding edge. 这是npm官网上对patch-package的说明,其意思就是 可以让大家立即对npm依赖

    2024年02月02日
    浏览(32)
  • 怎么快速卸载Vue项目里的node_modules文件夹

            因为平时装依赖的时候,有可能会报错怎么不管用的时候,就需要把node_modules文件夹删了重新intall一下,但是直接删的话会要管理员权限,或者各种问题,这个时候就可以使用一个工具来解决 rimraf         用 rimraf 来卸载的话还是非常快的,亲测比直接shift+Dele

    2024年02月11日
    浏览(38)
  • node修改版本、npm修改版本、yarn无法加载文件、node_modules\sharp: Command failed解决方法

    1、node修改版本 步骤1:从node官网下载node压缩包或者exe文件 如果是下载的是exe文件就直接找到原来的node.exe文件替换掉就可以了,环境变量配置不变 如果是下载的node压缩包,需要解压后,修改本地的环境变量配置(查看步骤2) 找到对应要下载的版本,这里我选择的10 相对应

    2024年02月13日
    浏览(42)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包