怎么排查出 js 文件的引用冲突?(页面引入了各种不同的外部 js)

2021-03-04 22:51:52 +08:00
 lisisi
在一个页面 A 中,引入了第三方库需要的 js 文件,但是,应用全局又引入了其他库所需别的 js 文件。

现在出现的问题是:

A 页面单独引入第三方库,是正常的。加入了应用全局引入的别的 js 文件,就不能用了。

怎么排查出 A 页面中引入的 js 和应用全局引入的某个 js 发生了冲突?
1752 次点击
所在节点    JavaScript
7 条回复
smallgoogle
2021-03-05 10:55:10 +08:00
看报错。一般都是命名冲突或者是 onload
DOLLOR
2021-03-05 11:18:18 +08:00
看控制台呀,是多个 JS 之间全局变量冲突,还是引用的 JS 框架、库版本冲突,还是用了黑魔法导致翻车的。
lisisi
2021-03-05 11:22:23 +08:00
@smallgoogle 就是因为不报错,貌似是全局变量直接覆盖了😓 第三方库封装的太黑盒,打断点去看要眼瞎了,加载顺序调整一下都不行,依赖太紧密了
no1xsyzy
2021-03-05 11:25:34 +08:00
那你可能只能用打包工具了。幸好,目前看来 rollup 对于已经可以运行的代码进行简单打包比 webpack 方便得多,并且对代码的修改几乎无感。
lisisi
2021-03-05 11:29:01 +08:00
@DOLLOR 看了下加载顺序,猜测是应用全局的 js 和当前页 A 引入的 js 加载顺序导致的问题。
lisisi
2021-03-05 11:30:41 +08:00
@no1xsyzy 也只好这样试试,外部引入的多了,不是同一个开发负责更加不容易协调啦
lihongming
2021-03-05 13:18:00 +08:00
js 打断点太痛苦了,99.99%的代码都是在做界面特效,跟踪了半小时,一个转场动画还没跑完呢。快进至下一个断点吧,结果问题错过去了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/758619

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX