我正在尝试访问我在外部文件中定义的简单javascript变量/对象。我的问题是如何通过dojo加载它。这是我的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文件作为配置加载,并尝试在我的代码中以配置方式访问它。我在控制台中未定义。
答案 0 :(得分:1)
我做了一些研究,我需要使用的东西看起来像dojo的define函数,所以config.js看起来像这样:
define({
keys : {
"key_1": {
"your_name": "jimmy",
"your_msg": "hello world"
},
"key_2": {
"your_name": "billy",
"your_msg": "foo equals bar"
}
}
})
答案 1 :(得分:0)
您应该为配置文件定义一个模块。
这可以使用define
作为参数传递来实现。
基本示例:
define({ yourProperty: yourValue});
可在此处找到更多信息:https://dojotoolkit.org/documentation/tutorials/1.10/modules/