web前端之精通dojo三:载入Dojo

来源:互联网 发布:宿舍管理系统java 编辑:程序博客网 时间:2024/05/16 10:34

web前端之精通dojo三:载入Dojo

参考资料

模块化JavaScript:

Dojo是通过静态的客户端JavaScript脚本、html支持模板以及css样式表实现的。在服务器端,除了传输一些静态文件的要求以外,不需要任何支持。它也不需要浏览器端的插件或扩展。

如果一个JavaScript文件定义了一个Dojo模块对象(即实例化了那个JavaScript对象变量),我们就称这个文件为模块主脚本。当载入一个模块主脚本时,它可能会载入其他的脚本。从这个意义上讲,一个模块可以分为多个脚本文件,但是这些脚本只有一个文件负责定义模块对象。模块主文件的名称对应着模块的名称:

(1)、组成了整个模块的所有文件保存在一个目录中。目录结构名称和模块主脚本文件的名称组成了模块的名称。例如,Dojo拖放管理器模块dojo.dad.manager就保存在~dojo/dad/manager.js中

(2)、对大部分情况来说,当一个模块主脚本载入到JavaScript程序时,这个模块所定义的所有JavaScript对象(除子模块对象以外),都当做是模块对象的属性被创建出来。同样,所有在dojo.dad.manager模块下定义的公共对象,也都是dojo.dad.manager的属性。

Dojo源代码组织

Dojo模块的元素被组织为三个分支

dojo:核心工具包,包含几乎所有程序需要的库

dijit:一个用于生成HTML用户界面的框架,它包含了很多内建图形化的小部件,dijit依赖于dojo

dojox:一些并非所有应用程序都需要,或者由于接近现代浏览器的极限

dojo模块的分类:

环境属性:指明运行时环境的一组变量(比如,浏览器的版本及其能力)

语言扩展:填补JavaScript中漏掉的少量元素(后续会进行说明)

异步编程:用来进行事件编程和异步回调功能(后续会进行说明)

DOM编程:使编写DOM更加容易(后续会进行说明)

XHR编程:用以通过XHR对象访问服务器(后续会进行说明)

面向对象编程:用以创建强大而灵活的类层次结构所需要的功能(后续会进行说明)

Dojo加载器:用以载入JavaScript和Dojo模块的功能(后续会进行说明)

dojo根目录下包含几个不会载入的模块,因此必须显示地通过dojo.require函数载入它们,这些函数主要包括:

dojo.back:为那些不使用载入URL来导航的应用程序,提供返回按钮功能

dojo.behavior:可以附加到节点上的“行为(behavior)”

dojo.cldr:一个本地通用数据容器实现与dojo.i18n协同工作

dojo.colors:方便CSS颜色操纵功能

dojo.cookie:简单HTTPcookie控制

dojo.currency:解析、格式化及国际化货币数据的功能

dojo.data:泛化数据源的访问功能以及数据源

dojo.date:解析、格式化以及国家化时间数据的功能

dojo.dnd:拖放

dojo.fx:DOM效果

dojo.i18n:支持多个区域设置,可以与dojo.cldr协同工作

dojo.io:通过脚本或者iframe与服务器进行通信

dojo.number:解析、格式化以及国际化数字数据的功能

dojo.parser:HTML解析器

dojo.regexp:用以帮助声称正则表达式功能

dojo.rpc:远程调用(RPC)框架

dojo.string:一些通用或者空缺的字符串功能

载入Dojo:

现在到了正式加载工具包并且使用的时候了。必须先载入dojo.js才能载入任何其他的dojo模块或者使用它们。

<script type="text/javascript" src="/dojoroot/dojo/dojo.js">

我们使用dojo.js的script元素中的djConfig属性来指定打开parseOnLoad开关

<script type="text/javascript" src="/dojoroot/dojo/dojo.js" djConfig="parseOnLoad:true">

dojo.reuqire:

这样载入一个没哟包含在dojo模块中的内容?可以使用dojo.reuqire来进行载入dojo.reuqire(dojo.colors),就如同载入/dojoroot/dojo/dojo/colors.js。

1 0
原创粉丝点击