博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
为什么使用Dojo toolkit的十大原因
阅读量:6647 次
发布时间:2019-06-25

本文共 1425 字,大约阅读时间需要 4 分钟。

日期:2012-8-22  来源:

为什么使用Dojo toolkit的十大原因

最强大但是使用量却大大低于预期的工具类库肯定是:。几乎所有的javascript框架或者类库都许诺你可以实现任何功能,但是Dojo是最具有此类话语权的类库。在这篇文章中,我们将从十个不同的角度来分享,为什么你应该在你的web项目中开始使用。

原因一:模块化和AMD模块加载机制

随 着web技术的发展,客户端的javascript越来越复杂,为了更好,更快运行我们的js应用,我们需要模块化我们的程序。不使用异步加载的日子应该 结束了。Dojo toolkit一直都引以骄傲他们的模块化设计,使用dojo.require来动态的加载页面资源。 虽然有一个跨域选项是异步的饿,缺省的加载javascript资源的方法是同步的。

Dojo已经迁移到了异步加载器上,由开发,可以方便的异步加载所有资源,很大程度的提高了速度。为了加载js资源,你可以使用如下代码:

// require方法指导加载器去加载第一个数组的资源// 如果资源已经被加载,缓存的对象会被使用require(    // 用来加载的模块   ["dojo/on", "dojo/touch", "dijit/form/Button", "dojo/domReady!"],     // 一个回调函数用来使用参数来加载模块      // 必须添加到和加载时一样的顺序   function(on, touch, Button) {      // 加载后执行其它 });

为了定义一个模块,使用如下模式:

// Using 'define' instead of 'require' because we're defining a moduledefine(    // Again, an array of module dependencies for the module we'd like to build   ["dojo/aspect", "dojo/_base/declare", "dijit/layout/BorderContainer"]    // Again, a callback function which should return an object   function(aspect, declare, BorderContainer) {       // Return a module (object, function, or Dojo declared class)      return declare("mynamespace.layout.CustomBorderContainer", [BorderContainer], {          // Custom attributes and methods here       }); })

这里我们使用简单的define方法来定义,基本上所有的AMD加载器都使用,非常简单的结构化方式。很像require,所以使用非常简单。所有列出的有 依赖的数组项目都在callback运行之前调用。通常callback返回一个方法或者对象用来展现模块。一个简单的模式快速加载,管理模块,允许开发 人员加载他需要的部分。

的特性丰富的加载器提供了插件,例如domReady,用来监听DOM,并且可以检测是否有相关JS。

.......

来源:

转载地址:http://fbuto.baihongyu.com/

你可能感兴趣的文章
ORACLE审计小结
查看>>
【翻译】Ext JS 4.1最终版发布
查看>>
加速OpenStack云落地——UnitedStack发布UOS 2.0
查看>>
C++中const用法总结
查看>>
alibaba druid 在springboot start autoconfig 下的bug
查看>>
Zabbix与Python不得不说的基情——用Python定制自己的zabbix界面
查看>>
linux下parted分区
查看>>
华为云计算大会HCC2014给你好看
查看>>
一个自媒体人的日常
查看>>
目前很火的自媒体平台,到底还值不值得站长们入驻
查看>>
Tomcat性能优化及JVM内存工作原理
查看>>
ActiveReports 报表应用教程 (10)---交互式报表之向下钻取(详细数据按需显示解决方案)...
查看>>
ASP.NET 5系列教程 (一):领读新特性
查看>>
怎样调整服务器C盘空间
查看>>
十年IT运维谈(四)IT部门,如何对待你的“上帝”?
查看>>
iOS开发那些事--创建基于故事板的iOS 6的HelloWorld
查看>>
MySQL5.7 可以回收(收缩)undo log回滚日志物理文件空间
查看>>
CentOS 5/6下安装Axel插件加速yum下载
查看>>
项目经理的一杯咖啡
查看>>
从“网上说的能信么”说开去---学习的思考
查看>>