0

Javascript コンソールから "Uncaught Error: irr​​ationalPath" エラーが発生する Grails GSP ページ内から次の HTML コードを取得しました。

次の階層の下に Dojo があります。
web-app
   /js
      /lib
         /dojo
            /dojo
            /dijit
            /dojox

これの原因に関するドキュメントは見つかりませんでした。createLink タグは次の URL に解決されます。

<script type="text/javascript" src="/tfs-web2/static/js/lib/dojo/dojo/dojo.js"></script>

baseUrl: "/tfs-web2/js/lib/"


<!DOCTYPE html>
<html >
<head>

    <link rel="stylesheet" href="<g:createLinkTo file="/js/lib/dojo/dijit/themes/claro/claro.css"/>">

    <script>dojoConfig = {
        parseOnLoad: true,
        async: true,
        baseUrl: "${resource(uri:'/')}/js/lib/",
        packages: [
            { name: "dojo", location: "dojo/dojo" },
            { name: "dijit", location: "dojo/dijit" }
        ]
    }
    </script>
    <script type="text/javascript" src="<g:createLinkTo file="/js/lib/dojo/dojo/dojo.js"/>"></script>

    <script>
        require(["dojo/ready", "dojo/fx"], function(ready, fx){
            ready(function(){
                require(["dijit/form/Button", "dojo/_base/window"], function(Button, win){
                    ready(function(){
                        new Button({}).placeAt(win.body());
                    });
                });
            });
        });
    </script>

</head>
<body class="claro">
</body>
</html>



編集: ローカル パッケージを参照する代わりに CDN を使用すると、これを機能させることができます。私は CDN を使用したくないので、Dojo のローカル コピーを使用してこれを機能させる方法を知りたいと思っています。

    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.8/dojo/dojo.js"
        data-dojo-config="isDebug:true, async:true" type="text/javascript"></script>
4

1 に答える 1

0

を指定する必要はありませんbaseUrl。Dojo はそれを自動検出します。

packagespathsカスタムモジュールを定義するだけで済みます。dojo、自動的にマッピングされますdijitdojox

https://dojotoolkit.org/reference-guide/1.8/dojo/_base/config.html

于 2013-06-11T13:01:05.943 に答える