返回列表 发帖

[翻译]DojoPackageSystem

原文地址:http://dojo.jot.com/DojoPackageSystem 作者:Dylan Schiemann 翻译:风灵风之子 Dojo包系统 by Dylan Schiemann 目的 包所封装的系统允许你列出一个包含文件的脚本,脚本会从Dojo源代码树中发现和取出你应用所需要的包。这意味着在最简单的应用中,不需要建立程序,也不需要在每个脚本文件中包含script标签将它载入脚本文件。 另外,包所封装的系统允许创建一个压缩包文件,这个文件包含一系列你的应用所需要的脚本程序,不多也不少,通过Ant来完成编译。 提示:在Dojo0.3+中,dojo.hostenv.conditionalLoadModule()方法已经被替换成dojo.kwCompoundRequire(),dojo.hostenv.moduleLoaded()方法被替换成dojo.provide()。如果使用旧的方法来用Dojo 0.3+,请使用一个兼容性的包(http://dojo.jot.com/WikiHome/UsingCompatibilityPackages) 包文件格式例子 // dojo/src/webui/widgets/__package__.js中的内容 dojo.kwCompoundRequire({ common: ["dojo.webui.widgets.parse"] // a generic dependency }); dojo.provide("dojo.webui.widgets.*"); 定义 kwCompoundRequire 传递一组对象,根据主机环境排序 provide 决定哪些模块将被考虑装载 一个长一点的例子 这个是位于dojo/src/foo/__package__.js包文件的内容: dojo.kwCompoundRequire({ common: ["dojo.foo.Foo", "dojo.foo.Bar"], browser: ["dojo.foo.Baz"] }); dojo.provide("dojo.foo.*"); 这一系列的定义说明了,当你写下dojo.require("dojo.foo.*")这个方法时,在浏览器内部Foo.js, Bar.js和Baz.js这些脚本文件将会在这个目录里被调用。当你在命令行下运行时,只有Foo.js 和 Bar.js会在这个目录里面被调用。 从源文件中包含Dojo 一旦你的包被使用,将从源代码书中包含Dojo,你应该使用如下的标签在你的html源代码中。 另外,你将指定你所需要的模块来装载。我通过一个单独的脚本文件来初始化Dojo。举一个例子,假如你的程序需要Dojo的事件系统,你需要增加这个命令:dojo.require("dojo.event.Event"); 预置建立文件格式 var dependencies = [ "dojo.io.*", "dojo.event.*", "dojo.xml.*", "dojo.graphics.*", "dojo.io.BrowserIO", "dojo.webui.*", "dojo.webui.widgets.foo.*", ]; load("getDependencyList.js"); 建立一个包 在指定预处理文件以后象被显示在那之上静态地指定您想要包括的包里,保存这个文件为, /buildscripts/profiles/foo.profile.js. 然后运行ant和指定的预处理的文件名字作为参数。举例如下: ant -Dprofile=foo clean release 然后在你的html源代码中,你可以通过增加如下标签简单地包含Dojo:

[翻译]DojoPackageSystem

第一次翻译国外的文档,受不了了,而且还是草稿。
我知道一定会被大家批的。。

TOP

[翻译]DojoPackageSystem

除了技术主题原创,也希望大家尝试翻译国外的相关技术报道介绍。在能及时引进国外最新动态的情况下,对翻译者本身的翻译能力技术理解也是有好处的。
建议采用中英文对照的发贴方式,一段原文下面再有自己翻译的一段话,做到相互对照。

TOP

[翻译]DojoPackageSystem

是啊,建议中英文对照:)

TOP

返回列表 回复 发帖