dojo1.7翻译 通过dojoConfig来配置dojo
原文地址:http://dojotoolkit.org/reference-guide/1.7/dojo/_base/config.html#dojo-config
?
dojo.config
位置 dojo/_base/config 文件夹中
从版本v0.4开始使用
以前不叫dojoConfig而是叫djConfig
?
通过设置,可以影响到以下一些功能
1.使用dojo.parser解析dijit控件的触发
2.调试日志的使用
3.设置国际化
4.将一些dojo的组件放置于非指定的位置
?
dojo.config的使用
dojo.config是在dojo启动时起作用的,我们有三种方法来配置config
1.在<script>标签中使用data-dojo-config属性
2.在使用dojo核心库前先创建一个dojoConfig对象
3.使用用户自定义编译
?
下面是示例
1.通过属性来配置
这是比较流行一种做法,一般是在引用核心dojo库时使用这个属性
?
?
注意:使用data-atrribute的这种写法是从1.6版本开始推荐的一种方法,以前的djConfig方法虽然到2.0版本都还能用,但已经是不建议使用的了。
在data-dojo-config中是使用逗号分割每个属性的。
注意:如果你通过了一个代理重写了HTML的内容影响了内容的脚本内容从而可能会使dojo功能失效。现在已经知道的是通过UMTS宽带连接是会出现这个问题的。
?
2.创建对象来配置
如果配置的内容比较多的话,使用创建对象来配置会好些。在引用dojo核心库前先配置对象
?
?
?在这个例子里,我们设置了本地化为英国,但是对于日本的资源也加载进来。
通过属性配置或使用对象配置,其作用都是一样的。在加载完成后,dojo.config就是全局的一个实例。因此它也就经常是作为一个只读属性而出现。
?
3.通过自定义创建
关于自定义构建的信息参见 dojo构建系统脚本文档
?
设置参数
?
好了,现在你知道如何设置全局参数来使用dojoConfig,你可能想知道怎么进行参数设置。一个快速参考的方法是去查dojo.config的的API。
?
你在dojoConfig中的设定是用来覆盖默认设置:
告诉dojo的加载调试核心库资源
告诉dojo的语言和本地化资源加载核心库
告诉道场在哪里能找到事件中的关键资源,如你使用的是一个定制的命名方案或跨域(xdomain)建立的资源
下面,我们将详细描述下这些配置设置
?
?
设置调试参数
?
dojoConfig可以快速简便的设置调试功能的开启和关闭。无论您是否正在使用一个自编译的,或解压缩的dojo源码,您都可以使用调试功能,使用的参数如下:
?
isDebug:true
当设置为“true”,isDebug将加载Dojo的扩展调试工具,通过Firebug的,或精简版的Firebug。无论您使用何种浏览器,你都可以得到一个调试窗口。在调试控制台中,你可以运行任意代码语句,通过内置的Dojo的控制台转出功能还可以查看报表输出。这个设置的默认值是“假”。
?
debugContainerId:“yourContainerId”
如果指定了ID,而在页面展现时dojo将寻找指定id的元素,并将该元素放入到Firebug Lite的控制台窗口。这允许开发人员在控制台窗口显示额外的信息,并轻松地在自己的脚本来引用。默认情况下,ID是没有关联的。
?
debugAtAllCosts:true(dojo小于1.7的版本)
此设置强制使用的xdomain装载机,以确保所有加载的模块有自己的脚本标记。这使错误消息中的实际行号,在大多数的调试工具和脚本的URL的有完整的列表。有更多的信息在在这里与Dojo的调试。请注意如果你的代码依赖于同步装载机,即不裹在dojo.ready/ dojo.ready而你传递一个变量dojo.require(而不是字符串文字),将可能破坏你的应用程序。
版本1.6有此设置的问题; http://bugs.dojotoolkit.org/ticket/12608更多信息,请参阅。它已经在1.7中删除,请参阅发行说明。
设置国际化参数适用于I18N的两个dojoConfig变量:
locale: “en-us”默认情况下,根据浏览器navigator对象的语言环境确定应用程序的语言环境。然而,开发人员可以强制使用应用服务器中的区域设置,建立基于用户偏好的语言环境的默认语言环境。 Dojo的语言环境设置,必须是建立在初始化时,初始化之后就不能更改。参数是一个字符串数组代表的语言环境。语言字符以破折号分开且所有字符小写。
extraLocale: [“ja-jp”]要加入多语言环境,开发人员可以指定额外的locale文件,也可以指定一个语言环境的集合。用户多语言切换的情况下使用extraLocale。它通常是更有效和首选的重载页面方案。
设置指定文件夹路径有时,开发人员可能选择在标准位置(即相对路径下的dojo/dojo.js的核心文件)的资源没有找到。在这种情况下,有必要告诉dojo在哪里可以找到这些资源。如下此提供dojoConfig参数:
baseUrl: “/assets/mydojo/”当同进使用多个版本的道场在给定的站点,或已更名为创建一个自定义生成的baseURL参数应该用来表示核心dojo.js文件时,在使用<base>标记时可以误导一些浏览器(如IE6中)的网站。baseURL的值应该包含dojo.js文件的目录。该值应始终定义结束斜杠(/)字符。paths: {“myApp”:”/other/path/to/myApp”}
modulePaths: {“foo”: ”../../bar”}在1.7之前。是一些过时的路径配置标志。使用这个参数相当于调用dojo.registerModulePath(“foo”, ”../../bar”) ,这可以让dojo找到自定义模块。有关创建和使用自定义模块的更多信息,请参阅dojo.registerModulePath。
其它的一些设置afterOnLoad: true(默认为false)。如果设置为true,则会在页面加载完成后把dojo注入到页面中。只有自定义构建dojo的才有效,正常的版本无效。?
兼容性向下兼容,废弃的djConfig当前还可以使用。注意,如果同时使用dojoConfig和djConfig,则djConfig将会被忽略还要注意,如果dojoConfig,djConfig,data-dojo-config同时使用时,将优先使用data-dojo-config?