0

カスタム modyle を作成しました。たとえば"Hello World"、コンソールに出力しています。

require([
    "dojo/_base/declare"
    ],
    function(declare) {

        return [
            declare("Hello", null, {

                printHello : function() {
                    console.log("Hello, World!");
                }
            })
        ];
    }
);

.jsファイル名は「 Hello.js」です。HTML ページでこのモジュールが必要ですが、ロードに問題があります。私のコード:

<script type="text/javascript">
    var dojoConfig = {
            async : true,
            parseOnLoad : false,
            isDebug : true,
        packages: [
                   { name: "gui", location: "/scripts/gui" }
         ]
    };
    require([ 
              "gui/common/Hello"
            ],

    function(HelloFunciton) {
        var hello = new Hello();
        hello.printHello();

    });
</script>

しかし、コンソールにエラーがあります:

"NetworkError: 404 Not Found - http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/scripts/gui/common/Hello.js"

それはローカルホストからのJavaScriptファイルでなければなりません...何が問題なのですか?

4

1 に答える 1

1

に追加baseUrl: "./"しますdojoConfig

また、 を介してパッケージへの相対パスを作成します./scripts/gui

完全な HTML ファイル:

<html>
    <head>
        <script>
            var dojoConfig = {
                async: true,
                baseUrl: "./",
                parseOnLoad: false,
                isDebug: true,
                packages: [
                    { name: "gui", location: "./scripts/gui" }
                ]
            }
        </script>
        <script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.2/dojo/dojo.js"></script>
        <script>
            require(["gui/common/Hello"], function(Hello) {
                var hello = new Hello();
                hello.printHello();
            });
        </script>
    </head>
    <body>
    </body>
</html>

モジュールファイル./scripts/gui/common/Hello.js:

define([
    "dojo/_base/declare"
], function(
    declare
) {

    return declare([], {
        printHello: function() {
            console.log("Hello world!");
        }
    });

});
于 2012-09-28T16:27:53.220 に答える