0

モジュールで jQuery UI Accordion を使用したかったのですが、Oracle MapViewer ライブラリを含めると、div.accordion は関数ではありません。このライブラリはまだ 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 (すべてのコンポーネント) を使用しています。

4

2 に答える 2

0

最初の例の shim セクションを次のように変更してみてください。

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

または、AMD の読み込みをサポートする最新の jQuery-ui バージョンに更新します。

于 2016-05-20T14:05:27.463 に答える
0

oraclemaps には jQuery が含まれているため、それらのバージョンを使用することを選択できます。構成は次のようになります。

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

require(["jquery-ui"], function ()
{
    $("#accordion").accordion();
});
于 2016-07-29T07:21:36.577 に答える