首先,我们是Dojo的新手并且是以"新"的方式自由地做事,所以我大多忽略了文档的前1.7部分.不过,在比较各种文章,文档和示例脚本时,我会感到困惑.
最重要的是,我找不到关于如何为Dojo 创建和部署自定义构建的直截了当的说明.更具体地说,我们需要部署哪些.js和.css文件.有很多关于创建构建的文档,但是我在部署时没有找到.
我最终收集了将所有内容构建到单个dojo.js是一个合理的移动实践,我只需要从构建目录中提取一个文件并将其部署到我的服务器,但后来我得到了缺少的CSS引用,看起来好像试错法是解决这些问题的正确方法.
这是我们具体的当前案例:
<script type="text/javascript">
require(
// deviceTheme to auto-detect device styles
[
"dojox/mobile",
"dojox/mobile/parser",
"dojox/mobile/deviceTheme"
]);
</script>
Run Code Online (Sandbox Code Playgroud)
这是构建配置文件:
dependencies = {
stripConsole: "normal",
layers: [
{
name: "dojo.js",
customBase: true, // prevent automatic inclusion of dojo/main
dependencies: [
"dojox.mobile.parser",
"dojox.mobile",
"dojox.mobile.deviceTheme"
]
}
],
prefixes: [
[ "dijit", "../dijit" ], // example included; not clear why
[ "dojox", "../dojox" ]
]
}
Run Code Online (Sandbox Code Playgroud)
(由dojo-release-1.7.2-src\dojox\mobile\build\build.bat脚本执行.)
所以我想具体的问题是:
mobile-all.profile.js使用dependencies=,而不是profile=将1.7构建教程介绍?这是有条件的,如果页面使用特定模块并且它有自己的css规则,则包含它们.
这不是的方式,而是用dojo.css(基地,复位),dijit.css(基地,布局等等),nihilo.css(例如主题)和android.css(例如主题)起步,将使一个良好的基础
通过'thumbrule',任何1.6+文档都是稳定的,但它们大多数都是相同的.当你启动一个配置文件时,它可能会有一些试验和错误(脚本文件的内联html包含的顺序是最重要的).你发布的内容看起来不错,但考虑一下customBase:true是否是必要的.
您可以使用现有的盒子.然而,建设者正在发生变化,与备受争议的2.0版本相抗衡.目前,新计划以及常规计划都是允许的.但实际上变量名称可以是foo或bar,只有变量的值可以使用.该文件必须"返回"单个对象.
据我所知,原因是CommonJS Packages/1.0是AMD和Builder 1.7+的新圣经.不过,它始终是包装层次所遵循的"拇指"方案 - 但是随着我们越接近2.0,语法很可能变得越来越严格.(看看你是否可以在#dojo @ irc.freenode.org上与snover联系)