【问题标题】:HTML/Javascript - Import multiple versions of a js?HTML/Javascript - 导入多个版本的 js?
【发布时间】:2020-09-08 19:57:21
【问题描述】:

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

我遇到过这样一种情况,我需要一个版本的 socket.io 才能让我的 web 应用程序工作,而另一个版本才能与我的 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 文件中包含我需要的远程文件,并以某种方式从第一页调用它?还是进口会互相破坏。

抱歉,如果这是一个愚蠢的问题 - 由于我对这些语言的有限使用没有遇到过这个问题,并且无法从我自己的搜索中得到直接的答案

【问题讨论】:

  • 我觉得有可能,使用多个js有什么问题?
  • 我必须包含 script.io 两次。我有一个连接到这个包中的 websocket 的套接字——它只在我使用本地 socket.io 时才有效,而我有另一个连接到需要不同版本的 socket.io 连接的 Python websocket。因此,当我拥有这两个脚本标签时,最后出现的任何内容都会起作用,而另一个套接字将停止工作。不幸的是,由于其他依赖项,我无法更改节点项目中的版本
  • 当你包含第一个socket.io时,你可以使用一个变量来全局存储它。
  • 或在本地js中更改全局名称
  • 如何使用变量来存储它?这听起来很有希望。我也不确定如何更改本地名称的全局名称,但我想我可以用谷歌搜索它

标签: javascript html jquery import version


【解决方案1】:

也许会起作用

<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 设置为另一个名称。

【讨论】:

  • 我会尽快尝试并通知您。如果它有效,您可能希望从标签中删除我损坏的“as”参数以获得更正确的最佳答案
猜你喜欢
  • 2021-03-21
  • 1970-01-01
  • 2020-05-20
  • 2018-07-23
  • 2011-09-22
  • 1970-01-01
  • 2023-03-20
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多