修改node_modules的包

为啥要修改


有时候使用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'));
},

上一篇:《Power Designer系统分析与建模实战》——第1章 软件建模和 Power Designer 概述


下一篇:以木代钢的黑科技,超硬木材,硬度提升23倍!