dojo之配置dojoconfig

官方教程: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的配置则无效。

<script src="http://ajax.googleapis.com/ajax/libs/dojo/1.7.1/dojo/dojo.js"

        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

时间: 2024-10-10 22:16:03

dojo之配置dojoconfig的相关文章

翻译 - 【Dojo Tutorials】Creating Builds

Dojo的编译系统(build,后称编译)提供了一种编译Dojo和你的其他JavaScript代码与CSS文件的方式,让你的应用在生产环境可以高效的利用它们. “编译”Dojo或JavaScript? 如果你使用过其他编程语言,你也许会纳闷为什么我们要探讨Dojo或JavaScript的“编译”问题,因为编译通常意味着是将代码编译成机器语言.但是当我们谈论Dojo的编译时讲的是这么一个概念,将代码最小化,优化性能,代码串联与移除没用的代码. 每当你从服务器发送代码到客户端来解释执行时,如Java

翻译 - 【Dojo Tutorials】Application Controller

原文:Application Controller 一个页面级别的控制器就像胶水,通过将模块化的功能黏在一起来构造一个鲜活的应用.我们将实现配置与一个明确的生命周期,通过松耦合的架构组合一个单页面应用的多个部分. 介绍 作为一个模块化的工具包,很多Dojo的文档都是在讲解单独的组件如何使用.但是当你需要组合它们来创建一个应用的时候,你需要一个框架来将它们灵活的组织起来. 问题 最佳实践建议保持关注点分离,维护组成应用的模块.所以,如何管理各个组件的加载与初始化,如何将它们与数据结合起来,用户界面

翻译 - 【Dojo Tutorials】Getting Started with Dojo Mobile

原文:Getting Started with Dojo Mobile web上的内容更新的飞快,重心很快就转移到移动设备上来了.就像对象web上的其他问题一样,Dojo对此也有解决方案:Dojo Mobile.Dojo Mobile是一个框架,可以让你轻松的构建设备兼容的web应用.这是关于Dojo Mobile系列教程的引导文章.通过对这一系列文章的学习,我们将构建一个叫做FlickView的Dojo Mobile应用.首先,我们应该先学习为什么既如何使用Dojo Mobile. Dojo

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

利用ArcGIS JavaScript API加载高德在线地图的扩展 /** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo",

ArcGIS API for JavaScript3.x 学习笔记[5] 加载底图(四)【高德在线地图】

/** * Created by WanderGIS on 2015/7/15. */ define(["dojo/_base/declare", "esri/geometry/Extent", "esri/SpatialReference", "esri/geometry/Point", "esri/layers/TileInfo", "esri/layers/TiledMapServiceLa

ArcGIS API for JavaScript 4.x 与 npm

在4.7版本中,不仅增加了WebGL的渲染支持(渲染前端速度加快,渲染量也加大).增强了ES6中的Promises语法支持,还支持了npm管理及webpack打包,实属喜讯. "意味着可以不经过esri-loader这个包来引入JsAPI了--ArcGIS极客说" //当前未完待续 1. 前言 如果你想本地组织起ArcGIS API for JavaScript项目,那么从4.7开始,就可以用npm这个当下火热的前端js包管理工具进行项目中的API管理了. 以前Esri是推荐用bowe

楼盘表展示效果记录

getdata.json { count: 3, building: [ { summary: "幢12,逻辑幢,总计(2522):", units:[{indexno:1,count:3},{indexno:2,count:2},{indexno:3,count:4}], floor: [ { floorno: 3, floorno2: 3, rooms: [{ obligee: "曹亦美", houseno: "301", area: 125

arcgis api 4.x for js之基础地图篇

arcgis api3.x for js转向arcgis api4.x,我也是最近的3-4个月时间的事情,刚好公司有个webgis项目需要展示三维场景,项目选择arcgis api4.x.我纯碎记录一下自己学习arcgis api4.x过程中的一些心得体会,自己个人的一些理解,不对之处,还请各位同仁见谅以及多多指教. 一.谈谈本篇自己认为比较重要的几个专业术语名称的理解: 1.View View即视图,提供了查看和与地图组件交互的方法.地图仅仅是一个容器,存储了包含在基础层和操作层中的地理信息,

Dojo Configuration-dojo/_base/config

使用dojoConfig(djConfig)对Dojo进行全局配置以控制其默认行为. dojo.config在Dojo启动过程中使用,有以下三种方式可以修改其默认值: 在引入Dojo核心模块的script标签中定义data-dojo-config属性并设定其值. 在引入Dojo核心模块之前定义dojoConfig对象. 自行编译Dojo. 1 <script src="/dojo/dojo/dojo/dojo.js" data-dojo-config="has:{'do