HTML/Javascript - 导入一个js的多个版本?

HTML/Javascript - Import multiple versions of a js?

我认为这是不可能的,基于我在发布之前的所有搜索(除非使用 jquery Can I use multiple versions of jQuery on the same page? 我不是)但我想我会检查一下。

我遇到过这样一种情况,我需要一个版本的 socket.io 才能让我的网络应用程序正常工作,而另一个版本才能与我的 python websockets 通信。

是否可以使用同一个js的多个版本?例如,一台远程,一台本地:

<script src="/socket.io/socket.io.js" as="ioA"></script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.6/socket.io.js" as="ioB"></script>

显然这本身行不通,但我希望它能帮助说明我想要什么。

如果我确实担心这不可行,是否有解决方法?例如在另一个 js/ejs 文件中包含我从远程文件中需要的内容,并以某种方式从第一页调用它?还是进口产品会互相破坏。

如果这是一个愚蠢的问题,我深表歉意 - 在我有限使用这些语言的情况下还没有遇到这个问题,并且无法从我自己的搜索中得到直接的答案

也许有用

<script src="/socket.io/socket.io.js" as="ioA"></script>
<script>
  window.antherIO=io;// io refer to the name above.
</script>
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/socket.io/1.4.6/socket.io.js" as="ioB"></script>

而本地的可能是这样的:

function (f) {
    if (typeof exports === "object" && typeof module !== "undefined") {
        module.exports = f()
    } else if (typeof define === "function" && define.amd) {
        define([], f)
    } else {
        var g;
        if (typeof window !== "undefined") {
            g = window
        } else if (typeof global !== "undefined") {
            g = global
        } else if (typeof self !== "undefined") {
            g = self
        } else {
            g = this
        }
        g.io = f()
    }
})(function () {
...

g.io = f()

io 设置为另一个名称。