官方教程:Configuring Dojo with dojoConfig
例子:

<-- set Dojo configuration, load Dojo -->
<script>
    dojoConfig= {
        has: {
            "dojo-firebug"true
        },
        parseOnLoad: false,
        foo: "bar",
        async: true,
        aliases:[
            ["ready", "dojo/domReady"],
            ["registry","dijit/registry"],
            ["dialog","dijit/Dialog"],
            ["parser","dojo/parser"]
        ],
        packages: [{
            name: "js",
            location: "/js"
        }],
        
locale: location.search.match(/locale=([\w\-]+)/) ? RegExp.$1 : "en-us"
    };
</script>
<script src="http://blog.163.com/mqsy_yj/blog/http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"></script>
 
<script>
// Require the registry, parser, Dialog, and wait for domReady
require(["registry""parser""dialog""ready!"], function(registry, parser) {
    // Explicitly parse the page
    dojo.parser.parse();
    // Find the dialog
    var dialog = registry.byId("dialog");
    // Set the content equal to what dojo.config is
    dialog.set("content""<pre>" + dojo.toJson(dojo.config, true) + "</pre>");
    // Show the dialog
    dialog.show();
});
</script>
 
<!-- and later in the page -->
<div id="dialog" data-dojo-type="dijit.Dialog" data-dojo-props="title: 'dojoConfig / dojo.config'"></div>

dojoConfig用于设置一些在Dojo运行时的选项和默认的行为方式。
在上面的代码中,首先定义dojoConfig设置一些属性,然后加载dojo.js,如果这个过程反过来,那dojoConfig的配置则无效。

        data-dojo-config="has:{'dojo-firebug': true}, parseOnLoad: false, foo: 'bar', async: true">
</script>
这是另一种写法,等同于前一种。前一种是写在一个单独的script块中,后一种是作为script标签的一个属性。个人认为前一种比较好,如果需要配置的内容比较多时,前一种会更清楚直观,容易理解。
下面说一些配置项。
has()用来设置一些Dojo支持的系统特性。
has: {

    "dojo-firebug"true,//加载Dojo版的Firebug调试环境,如果浏览器没有自带调试工具,可以用这个

    "dojo-debug-messages"true//显示调试信息,针对于一些废弃的或测试中的功能特性在运行时的信息
}

另外还有debugContainerId,用于在页面显示debug控制台界面的地方;popup,在弹出窗口中显示debug控制台,而不是在当前页面中。

Loader Configuration
加载时一些常用选项

packages: [{
    name: "myapp",
    location: "/js/myapp"
}]

//提供包名及其路径

aliases: [
    // [alias name, true name]
    ["cookie""dojo/cookie"]
]
//设置别名

async:true/false/legacyAsync 
//是否异步加载

parseOnLoad:true/false 
//是否在DOM和所有初始化完成后由dojo.parser解析页面

本地化与国际化
locale: location.search.match(/locale=([\w\-]+)/) ? RegExp.$1 : "en-us"

上面代码会在地址中查找参数locale=xx,如http://dojotoolkit.org/documentation/tutorials/1.7/dojo_config/demo/localeConfig.html?locale=zh,这里参数locale=zh

require(["dojo/date/locale""dijit/Dialog""dojo/i18n""dojo/domReady!"]function(locale, Dialog){
            var now = new Date();
            var dialog = new Dialog({
                id: "dialog",
                title: "Today: " + locale.format(now,{
                    formatLength:"full",
                    selector:"date"
                })
            }).placeAt(dojo.body());
            dialog.startup();
            dialog.set("content","<pre>" + dojo.toJson(dojo.config,true) + "</pre>");
            dialog.show();
        });

上面代码中将日期格式进行本地化放在Dialog的标题栏中。如果没有找到locale=xx,则默认为en-us。

转载自:http://www.cnblogs.com/tiandi/p/3415897.html

dojo之配置dojoconfig的更多相关文章

  1. dojo 五 配置dojoconfig

    官方教程:Configuring Dojo with dojoConfig例子: <-- set Dojo configuration, load Dojo --> <script& ...

  2. 使用dojoConfig配置dojo(翻译)

    http://dojotoolkit.org/documentation/tutorials/1.10/dojo_config/index.html dojoConfig对象(原来是djConfig对 ...

  3. Configuring Dojo with dojoConfig - The Dojo Toolkit

    转载自Dojo官网 Configuring Dojo with dojoConfig The dojoConfig object (formerly djConfig) allows you to s ...

  4. Dojo: Quick Start

      1.Dojo学习地址 2.Dojo快速开始 2.1.Dojo引入 2.2.指定Dojo模块的位置 2.3.模块加载require 3.查找Dom节点 3.1.根据id查找dom节点 3.2.根据c ...

  5. Dojo初探

    Dojo 是一个由 Dojo 基金会开发的 Javascript 工具包, 据说受到 IBM 的永久支持,其包括四个部分: dojo, dijit, dojox, util dojo: 有时也被称作 ...

  6. dojo框架笔记

    一.模块定义 1.定义只含值对,没有任何依赖的模块(moudle1.js) define({ color: "black", size: "unisize" } ...

  7. ArcGIS API for JavaScript与 npm

    在4.7版本中,不仅增加了WebGL的渲染支持(渲染前端速度加快,渲染量也加大).增强了ES6中的Promises语法支持,还支持了npm管理及webpack打包,实属喜讯. “意味着可以不经过esr ...

  8. ArcGIS Javascript API 加载高德在线地图扩展

    利用ArcGIS JavaScript API加载高德在线地图的扩展 /** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_b ...

  9. arcgis api for js入门开发系列一arcgis api离线部署

    在我的GIS之家QQ群里,很多都是arcgis api for js开发的新手,他们一般都是GIS专业的学生,或者从计算机专业刚刚转向来的giser,他们难免会遇到各种webgis开发的简单问题,由于 ...

随机推荐

  1. 去除ArcMap连接空间数据库中多余的属性表

    这个操作目前可能不具有可行性,但是为了完整性还是在下面讲一下吧.如有兴趣的小伙伴,可以按照下面的操作方式去尝试. 一.需求 去除ArcMap连接空间数据库中多余的属性表. PL/SQL中查询得到的内容 ...

  2. linux升级mysql到5.7

    原文:http://blog.csdn.net/qing_gee/article/details/41774265 Linux升级MySQL版本到5.7. 1.下载Linux的5.7版本,主要需要两个 ...

  3. maven项目如何生成war文件

    配置 你的pom.xml文件,在你的overview视窗里 配置 packaging为 war 然后然后点击 pom.xml右键,run as 选择 install 或是 package如果项目没问题 ...

  4. QT编程之——使用全局变量

    在Qt中使用全局变量的实例 1.首先须要在一个头文件里对全局了变量使用exern方法进行定义. //g.h extern char *testStr; 2.仅仅能在cpp文件里对事实上例化,而且实例化 ...

  5. coursera课程Text Retrieval and Search Engines之Week 1 Overview

    Week 1 OverviewHelp Center Week 1 On this page: Instructional Activities Time Goals and Objectives K ...

  6. Sequential projection learning for hashing阅读笔记

    真不能再挖坑了,前面挖聊很多坑都没来得及填,从今往后,能写多少就是多少.Sequential projection learning for hashing这篇文章去年就阅读了,当时阅读完没来得及做笔 ...

  7. GPU/CUDA程序初体验 向量加法

    现在主要的并行计算设备有两种发展趋势: (1)多核CPU. 双核,四核,八核,...,72核,...,可以使用OpenMP编译处理方案,就是指导编译器编译为多核并行执行. (2)多线程设备(GP)GP ...

  8. 算法导论第九章 第K顺序统计量

    1.第K顺序统计量概念 在一个由n个元素组成的集合中,第k个顺序统计量是该集合中第k小的元素.例如,最小值是第1顺序统计量,最大值是第n顺序统计量. 2.求Top K元素与求第K顺序统计量不同 Top ...

  9. Android中ActionBar及Overflow的显示

    最近在按照Android的API文档学习Android中actionbar的使用,Action bar 最基本的形式,就是为 activity 显示标题,并且在标题左边显示一个 app icon.在这 ...

  10. 解析XML并将信息封装到对象中

    [person.xml]要解析的内容 <?xml version="1.0" encoding="UTF-8"?> <students> ...