如何比较好的解决库引入的问题?

假如现在有一个库 A,库 A 的部分功能已经在页面中使用了。而其中有一个功能需要引入一个库 A 的第三方库,假如叫库 B,库 B 内引入了库 A。大概的使用方法是

import * as A from "A";
import "B"

执行后 A 会因为 B 的引入添加特定的功能。
但是现在的问题是该特定功能没有生效,原因是库 B 中引入 A 的方式和 import * as A from "A" 引入的方式不同,而 A 库支持了多种打包的方式,最终导致两者引入的 A 其实是不同的。请问一下如何比较好的解决这种问题。目前采用的方式是复制 B 出来,然后修改 B 引入 A 的代码。

阅读 2.4k
1 个回答

你想这样的话最好的办法就是修改B库的源码这不显示维护成本太高,你用的是 Webpack话,可配置 一下resolve.alias ,比如让库 A 在整个项目里只引入一个版本:

resolve: {
  alias: {
    'A': path.resolve(__dirname, 'node_modules/A')
  }
}
推荐问题
logo
Microsoft
子站问答
访问
宣传栏