为啥要修改


有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。

那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。

一般常用办法有两个:

  • 下载别人代码到本地,放在src目录,修改后手动引入。
  • fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。

这两个办法的缺陷就是:

  • 更新麻烦,我们每次都需要手动去更新代码,无法与插件同步更新。
  • 如果我们要修改的代码仅仅是别人的一个小模块,其他大部分代码都不动,这时候有一个很投机的操作:利用 webpack alias 来覆盖别人代码。

webpack alias会替换我们写的“简写路径”,并且它对node_modules里面的文件也是生效的。 我们可以将别人源码里面引用模块的路径替换成我们自己的文件。

chainWebpack: config => {config.resolve.alias.set('@', resolve('src')).set('#', resolve('src/views/page1')).set('&', resolve('src/views/page2'));
},

修改node_modules的包相关推荐

  1. node 升级_那些修改node_modules的骚操作

    前言 相信有过一些前端开发经验的同学都有遇到过使用的npm包有bug,或者npm包只要再修改一点点就能满足自己的需求这样尴尬的情况.如果给包作者提需求,作者一般也不会马上给你修改,这时候就需要使用各种 ...

  2. 通过patch-package创建补丁修改node_modules依赖下的源码

    通过patch-package创建补丁修改node_modules依赖下的源码 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都 ...

  3. 破解APK并修改APK的包名

    由于工作需要要修改一个历史很久远的android apk的一些包名参数,但是由于年久失修,找不到原来出包的项目工程了,所以没有办法通过打包的方式去修改apk的包名处理.这里提供一个不需要经过工程打包就 ...

  4. 修改jar中包结构,修改jar包包名

    这次呢,给大家一个冷门的技术方案,一般情况下是碰不到的,也是给自己巩固一下,避免以后忘了 平时在开发中,用第三方的jar,有时候会出现不同jar包,包名一致的情况,这种情况下修改起来就比较复杂了 之前 ...

  5. vite下,修改node_modules源码后,在浏览器源码中看不到改动的内容

    一.背景 vite下,修改node_modules源码后,在浏览器的源代码中看不到改动的内容,查看vite文档后发现了这么一段话: 对此我专门做了几次实验,来验证我的一些想法 二.实验的前置操作 执行 ...

  6. 机械臂urdf模型修改及功能包配置

    目录 一.前清提要 二.操作过程 1.转夹爪stl为urdf模型,得到夹爪包命名为GripperURDF 2.将夹爪包移到工作空间下,查看其是否完整,符合要求 3.将夹爪urdf包和机械臂urdf包合 ...

  7. Eclipse如何更改包名后,批量修改文件的包名

    由于导入项目的文件很多,但是又不想挨个修改包名,这里我想到了一个方法虽然也不是相当的方便,但如果文件很多还是值得一试: 如果你想修改demo包下所有文件的包名,可以在demo包外创建一个java文件, ...

  8. android aar 修改,Android aar包修改代码后重新打包

    修改aar包代码的几个步骤: 1.解压出arr包:unzip xxx.aar -d tempFolder 2.找到classes.jar文件,并使用jd-gui查看代码,找到需要修改的文件: 3.打开 ...

  9. 修改服务器劫包,APP游戏TCP包被劫持篡改的一些解决方案

    根据中间人的测试方案可以直接看到漏洞在游戏客户端的显示效果,大大提高了漏洞发现的效率:但是与上一代方案相比,仍然有两个问题没有解决:协议访问时间长,因为协议包解析涉及到粘贴和解包等问题,比较复杂,不仅 ...

最新文章

  1. 随记(六)--计算代码运行所需时间
  2. Sybase函数大全
  3. 今天,公司架构师跟我分享多年的私货 | 进阶之路必读书籍(附下载链接)
  4. lisp 多段线转面域_Objectarx 相交矩形求并集 面域转多段线
  5. GlusterFS分布式存储系统
  6. 破B操作系统:(1)显示桌面图标
  7. python数据处理太慢_使用Python将数据写入LMDB非常慢
  8. 分享两款在线教育教学管理系统源码
  9. java 1.4 下载_j2sdk1.4.2
  10. 安徽初二计算机考试试题,安徽省八年级信息技术会考题库
  11. EXP-00091 Exporting questionable statistics
  12. canvas教程12-阴影
  13. 基于Springboot外卖系统13:实现文件上传下载模块
  14. 查询商品分类id为10或11的商品对应的商品信息
  15. 大数据基础知识(一):认识大数据
  16. jquery打印html页面自动分页,jQuery打印指定区域Html页面并自动分页
  17. 点云配准论文阅读笔记--(4PCS)4-Points Congruent Sets for Robust Pairwise Surface Registration
  18. 史上最全的 Java 技术体系思维导图
  19. 企业内部邮箱有哪些好用,怎么注册申请公司内部邮箱
  20. Qt中使用诺基亚HERE地图的方式

热门文章

  1. 茂名2021高考成绩查询入口,茂名高考成绩查询入口
  2. 网络安全人才短缺加剧,企业如何不拘一格降人才?
  3. JBox2D学习 - 小球碰撞实例 .
  4. docker挂载本地目录_Docker:使用本地卷和tmpfs挂载
  5. Java基础---认识正则表达式
  6. 微信小程序中 button丢失其默认样式
  7. Node.js-Express框架
  8. MySQL笔记(五)索引 index
  9. shell [] [[]]的区别(转)
  10. CocoPods原理