【问题标题】:Loading order jQuery UI and Oracle MapViewer in RequireJS在 RequireJS 中加载顺序 jQuery UI 和 Oracle MapViewer
【发布时间】:2016-07-29 15:21:36
【问题描述】:

我想在我的模块中使用 jQuery UI Accordion,但如果我包含 Oracle MapViewer 库,我总是得到 div.accordion is not a function。这个库还不支持 AMD,所以我在 shim 中定义了它的依赖关系。 所有库都按以下顺序加载:jQuery UI、jQuery、(Oracle MapViewer)。我认为应该首先加载 jQuery,但该顺序有效,除非我加载 Oracle MapViewer。

我的 HTML

<!--in head-->
<script src="lib/require.min.js" data-main="app"></script>

<!--in body-->
<div id="accordion">
  <h3>Section 1</h3>
  <div>Vestibulum a velit eu ante scelerisque vulputate.</div>
  <h3>Section 2</h3>
  <div>Vivamus non quam. In suscipit faucibus urna.</div>
</div>

我的 app.js

require.config({
    paths: {
        "jquery": "lib/jquery-1.12.3",
        "jquery-ui": "lib/jquery-ui",
        "oraclemaps": "lib/oraclemapsv2"
    },
    shim: {
        "oraclemaps": ['jquery']
    }
});

require(['oraclemaps', 'jquery-ui'], function ()
{
    $("#accordion").accordion();
});

知道如何在 RequireJS 中使用 Oracle MapViewer 库吗?我使用 jQuery 1.12.3 和 jQuery UI 1.11.4(所有组件)。

【问题讨论】:

    标签: javascript jquery jquery-ui requirejs oracle-map-viewer


    【解决方案1】:

    尝试像这样更改第一个示例的 shim 部分:

    shim: {
        "jquery-ui": {
            export:"$" ,
            deps: ['jquery']
        }
    }
    

    或者更新到最新的jQuery-ui版本,终于支持AMD加载了。

    【讨论】:

    • 仍然有错误。我用的是最新的稳定版,支持AMD(源码中有if (typeof define === "function" && define.amd)
    • 添加 export 不会有任何区别,并且 OP 使用的是 1.11.4,它确实支持 AMD(在 1.11.0 中添加了支持)。
    • 您是否通过浏览器控制台检查了模块是否已加载或请求?
    • 是的,这两个脚本都在 HTML 的头部。
    【解决方案2】:

    oraclemaps 包含 jQuery,因此我们可以选择使用他们的版本。配置是这样的:

    require.config({
        paths: {
            "jquery-ui": "lib/jquery-ui.min",
            "oraclemaps": "lib/oraclemapsv2"
        },
        shim: {
            "jquery-ui": ["oraclemaps"]
        }
    });
    
    require(["jquery-ui"], function ()
    {
        $("#accordion").accordion();
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-01-06
      • 1970-01-01
      • 2013-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-20
      相关资源
      最近更新 更多