因为工作刚接触到dojo框架,网上找各种资料,发现很少很少(大多是以前的),只能看官网学习了,英文不行,一边翻译一边学习,还能学点单词...呵呵

我在Apache下运行Dojo demo,初学,希望有理解不对的地方指点指点...

一、先总的来认识一下dojo的工具包:

  ①dojo

  dojo框架的核心包。dojo里普遍实用的软件包、模块都在里面,如:Ajax、DOM操作、类编程、事件、异步Promises、数据存储、拖放以及本地化与国际化等...

  ②dijit

  小部件框架和内建的小部件集。

  ③dojox

  它是建立在dojo和dijit之上,有些模块在实验阶段,有些已经很成熟。

  ④util

  支持其他的工具包,能够编译测试和文档代码。

  ⑤dgrid

  轻量级表格控件

  ⑥gridx

  以快速渲染、模块化、插件为基础的控件,数据结构与算法、数据处理与通信、实用工具、图形 API 以及 Web UI 等。

二、AMD(异步模块加载机制)

  模块:是一个可以被单个参考访问的值,如果有多个数据或者功能要在一个模块中,那么他们必须是指向模块的一个单个对象的属性,一个模块通常是一个单一的JavaScript文件。

  模块的加载机制:通过两个全局函数require/define加载模块

  require({提供的对象}[模块依赖列表(字符串数组)],fun(callback)),参数都是可选的;

  require(["my/app","dojo"],function(app,dojo){

    .....

    //只是加载了模块,没有返回自己的值

  });

  define("模块名",[模块依赖列表(字符串数组)],fun(模块的值是函数的返回值)/value),前两参数可选;

  define("my/mapper/api",[

  "dojo/_base/declare",

      ...,

  "dojo/domReady!"],function(declare,...,ready){

  return ....

  //加载了模块,也提供了值

  });

  AMD:Asynchronous Module Definition(异步模块加载机制),模块的定义,依赖关系,引用关系以及加载机制。

三、dojoConfig:

  dojoConfig是配置dojo的主要机制,它被模块加载器引用着,也是Dojo组件的全局选项,如果需要,也可以进一步被自定义程序配置点使用。

  dojoConfig = {

    has:{

      "dojo-firebug": true

    },

    parseOnLoad: false,
         foo: "bar",
         async: true

  };

    has:通过包含一个对象特性的散列值做为has的特性,这个特性设置是为了决定Dojo支持的某一能力。dojo-firebug:调试配置;

    parseOnLoad:是否在页面加载完成以后执行解析功能(dojo/parser);

    async:是否异步。

    baseUrl: 当转化一个模块标识符为地址或者URL时,baseUrl将添加给它。

    packages: 一个对象数组,它提供了包的名字和位置。

    aliases: 允许你设置模块的别名。

    paths: 允许自定义路径。

    packagePaths: 速记符号,可以用来指定多个相同根目录的包配置。

    deps: 一个应该在Dojo载入完成后立即载入的资源路径数组。

    callback: 一个在deps被取出后执行的回调函数。

    waitSeconds: 等待加载模块超时时间,默认为0(永远等待)。

    cacheBust:如果为true,添加时间值到每个模块URL中作为querystring避免模块缓存。

  Dijit,DojoX,它们的模块标志和行为是可以被设置的,同样也可以在你自己的应用程序和模块中使用

    

  

Dojo框架学习笔记<一>的更多相关文章

  1. Dojo框架学习笔记<二>

    一.dojo/dom    该模块定义了Dojo Dom API,主要有以下几种用法:    1.dom.byId();(相当于document.getElementById())    ①最直接的用 ...

  2. 集合框架学习笔记<二>

    1.什么是ArrayList ArrayList就是传说中的动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处: 动态的增加和减少元素 实现了ICollection和ILis ...

  3. semantic ui框架学习笔记二

    评论组件 文档里的评论组件介绍的比较清晰.这里我就挑一个我喜欢的格式展示出来: <div class="ui comments"> <h3 class=" ...

  4. unittest框架学习笔记二之discover

    coding=utf-8'''Created on 2018/3/29 author:star Project:discover测试用例''' import unittest,time,oslist= ...

  5. Yii框架学习笔记(二)将html前端模板整合到框架中

    选择Yii 2.0版本框架的7个理由 http://blog.chedushi.com/archives/8988 刚接触Yii谈一下对Yii框架的看法和感受 http://bbs.csdn.net/ ...

  6. phalcon(费尔康)框架学习笔记

    phalcon(费尔康)框架学习笔记 http://www.qixing318.com/article/phalcon-framework-to-study-notes.html 目录结构   pha ...

  7. [Firefly引擎][学习笔记二][已完结]卡牌游戏开发模型的设计

    源地址:http://bbs.9miao.com/thread-44603-1-1.html 在此补充一下Socket的验证机制:socket登陆验证.会采用session会话超时的机制做心跳接口验证 ...

  8. JavaSE中Map框架学习笔记

    前言:最近几天都在生病,退烧之后身体虚弱.头疼.在床上躺了几天,什么事情都干不了.接下来这段时间,要好好加快进度才好. 前面用了三篇文章的篇幅学习了Collection框架的相关内容,而Map框架相对 ...

  9. JavaSE中线程与并行API框架学习笔记1——线程是什么?

    前言:虽然工作了三年,但是几乎没有使用到多线程之类的内容.这其实是工作与学习的矛盾.我们在公司上班,很多时候都只是在处理业务代码,很少接触底层技术. 可是你不可能一辈子都写业务代码,而且跳槽之后新单位 ...

随机推荐

  1. 图像上传OSS的BUG

    今天遇到了一个流上传BUG. 图像经过压缩后传到阿里OSS上后无法显示,下载后发现图像大小为0KB. 调试发现上传的时候发现处理后的流大小正确. 最后发现是流经过图像处理后没有复位. 使用res.Se ...

  2. 循序渐进Python3(十二) --2--  web框架之django简单实现oracle数据库操作

    在 Django 中构建 Oracle 数据库支持的 Web 应用程序 了解如何配置 Django 以便与 Oracle 数据库交互,并使用 ORM 进行数据库连接.             产能在软 ...

  3. scala操作符&运行

    ---恢复内容开始--- #操作符运算 数学操作符 + - * / % 比较操作符 < > >= =< 逻辑操作符 && || 对等操作符 ==   != 位操 ...

  4. java序列化深拷贝

    java深拷贝 序列化和反序列化合成在一起的方法CloneUtils import java.io.ByteArrayInputStream; import java.io.ByteArrayOutp ...

  5. OpenLDAP,一登录系统就修改密码

    http://guodayong.blog.51cto.com/263451/d-2 郭大勇的博客   1:修改配置文件 在前面打开注释 moduleload ppolicy.la modulepat ...

  6. C# 解析 Json数据

    JSON(全称为JavaScript Object Notation) 是一种轻量级的数据交换格式.它是基于JavaScript语法标准的一个子集. JSON采用完全独立于语言的文本格式,可以很容易在 ...

  7. iOS代码实现九宫格

    #define ScreenW [UIScreen mainScreen].bounds.size.width #define ScreenH [UIScreen mainScreen].bounds ...

  8. 深度学习(dropout)

    other_techniques_for_regularization 随手翻译,略作参考,禁止转载 www.cnblogs.com/santian/p/5457412.html Dropout: D ...

  9. Android学习---ListView和Inflater的使用,将一个布局文件转化为一个对象

    本文将介绍ListView和Inflater的使用,将接上一篇文章内容. 一.什么是ListView? 在android开发中ListView是比较常用的控件,ListView 控件可使用四种不同视图 ...

  10. ueditor不自动加P解决方法

    百度的Ueditor编辑器出于安全考虑; 用户在html模式下粘贴进去的html文档会自动被去除样式和转义. 虽然安全的,但是非常不方便. 做一下修改把这个功能去掉. 一.打开ueditor.all. ...