推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
lisisi

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

  •  
  •   lisisi · Mar 4, 2021 · 2610 views
    This topic created in 1906 days ago, the information mentioned may be changed or developed.
    在一个页面 A 中,引入了第三方库需要的 js 文件,但是,应用全局又引入了其他库所需别的 js 文件。

    现在出现的问题是:

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

    怎么排查出 A 页面中引入的 js 和应用全局引入的某个 js 发生了冲突?
    7 replies    2021-03-05 13:18:00 +08:00
    smallgoogle
        1
    smallgoogle  
       Mar 5, 2021
    看报错。一般都是命名冲突或者是 onload
    AV1
        2
    AV1  
       Mar 5, 2021
    看控制台呀,是多个 JS 之间全局变量冲突,还是引用的 JS 框架、库版本冲突,还是用了黑魔法导致翻车的。
    lisisi
        3
    lisisi  
    OP
       Mar 5, 2021
    @smallgoogle 就是因为不报错,貌似是全局变量直接覆盖了😓 第三方库封装的太黑盒,打断点去看要眼瞎了,加载顺序调整一下都不行,依赖太紧密了
    no1xsyzy
        4
    no1xsyzy  
       Mar 5, 2021
    那你可能只能用打包工具了。幸好,目前看来 rollup 对于已经可以运行的代码进行简单打包比 webpack 方便得多,并且对代码的修改几乎无感。
    lisisi
        5
    lisisi  
    OP
       Mar 5, 2021
    @DOLLOR 看了下加载顺序,猜测是应用全局的 js 和当前页 A 引入的 js 加载顺序导致的问题。
    lisisi
        6
    lisisi  
    OP
       Mar 5, 2021
    @no1xsyzy 也只好这样试试,外部引入的多了,不是同一个开发负责更加不容易协调啦
    lihongming
        7
    lihongming  
       Mar 5, 2021 via iPhone
    js 打断点太痛苦了,99.99%的代码都是在做界面特效,跟踪了半小时,一个转场动画还没跑完呢。快进至下一个断点吧,结果问题错过去了
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   2838 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 54ms · UTC 14:55 · PVG 22:55 · LAX 07:55 · JFK 10:55
    ♥ Do have faith in what you're doing.