Dojo 访问外部文件中的 javascript 对象

Dojo accessing a javascript object in external file

我正在尝试访问我在外部文件中定义的简单 javascript 变量/对象。我的问题是如何通过道场加载它。这是我的 plunker code 没用的:

index.html

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>Tutorial: Hello Dojo!</title>
</head>
<body>
    <!-- load Dojo -->
    <script src="//ajax.googleapis.com/ajax/libs/dojo/1.10.4/dojo/dojo.js"
            data-dojo-config="async: true"></script>
    <script type="text/javascript">
        require({
        packages: [
        {
                name: 'myApp',
                location: window.location.href.replace(/\/$/, "")
        }]}, 
        ["dojo/dom", "myApp/config", "dojo/domReady!"], function(dom, config) {
          console.log(config.keys);
        });
    </script>
</body>
</html>

config.js

var keys = {
    "key_1": {
        "your_name": "jimmy",
        "your_msg": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_msg": "foo equals bar"
    }
};

如您所见,我尝试将 config.js 文件作为配置加载,并尝试在我的代码中将其作为配置访问。我在控制台中变得不确定。

我做了一些研究,我需要使用的东西看起来像 dojo 的定义函数,因此 config.js 看起来像这样:

define({
  keys : {
    "key_1": {
        "your_name": "jimmy",
        "your_msg": "hello world"
    },
    "key_2": {
        "your_name": "billy",
        "your_msg": "foo equals bar"
    }
}
})

您应该为您的配置文件定义一个模块。 这可以使用 define 作为参数传递您的对象来实现。

基本示例:

define({ yourProperty: yourValue});

可在此处找到更多信息:https://dojotoolkit.org/documentation/tutorials/1.10/modules/