Dojo Toolkit(如下简称dojo)是一个javascript语言实现的、跨浏览器的DHTML(Dynamic HTML)工具包。Dojo ToolKit包括了构建大规模Ajax驱动的web应用程序所须要的一切。因此,你也能够把他当作是一个Ajax库,但它不单单是个ajax库。javascript
dojo功能远比你想象的要强大,几乎可以知足你开发web应用时所须要的。固然,dojo的学习难度比较大,可是一旦你掌握了它,你会发现使用dojo来开发应用原来是这么方便和驾轻就熟。html
Dojo大体能够分红dojo、dijit、dojox这三个包(Package)。java
dojo包是dojo toolkit的基础,它包含了整个框架最基础的部分,包括Ajax基础、事件等。web
dijit包里面包含了基于模板的布局组件(widget)类。如对话框日历、树等。ajax
dojox(dojo eXtensions)是一个扩展区,提供了更加绚丽的组件和一些新奇的组件,很强大!浏览器
下图是dojo的文件夹目录:app
若是你只须要dojo的ajax与事件操做,彻底能够不使用dijit和dojox。框架
Dojo中的功能是模块化的,这样便于管理。它包含了上百个包,这些包分别位于dojo、dijit、dojox这三个一级命名空间下。因此在使用时咱们一般按需加载。异步
下图是一些经常使用包。这些包分布在不一样文件夹里。ide
每一个包里面有不少的类,能够实现一些特定功能。
异步模块加载不用在html中嵌入<script>标签来加载javascript,而是在javascript代码中加载。
加载方法有几种:
传统的dojo.require()/dojo.provide()
Dojo异步模块加载器AMD格式,define()
require()直接加载
代码以下:
下载dojo框架(http://dojotoolkit.org),并解压放到网站某个能访问的目录下,好比你放到了(wwwroot)/下,里面的dojo目录包含dojo、dijit、dojox三个目录。这样就能够了吗?是的!就是这么简单。不过之后可能涉及包路径问题,这个在后面会推荐一个比较好的开发模板。
这个例子中只须要新建一个html文件就能够了,引入必要的dojo.js(这个根据你把dojo框架放哪来定)。
首先在html里引入dojo.js文件,这个js文件是必须包含的,并且在整个框架你甚至只要在html里包含这一个js文件。require用来以AMD模式加载其余包,但这里面咱们没有用到其余包,因此比较简单。byId函数式属于dojo命名空间下的函数,已经经过script标签加载了。
require函数的使用:
require(
[“模块1”,”模块2”],
function(模块1的别名,模块2的别名)
/*……*/
});
上图中,包含了app包中map类,其别名为appMap。因此下面使用时不用写完整的名字:app.map,只须要appMap。