Dojo自定义生成:要部署哪些文件

Dojo自定义生成:要部署哪些文件,dojo,dojox.mobile,Dojo,Dojox.mobile,首先,我们是Dojo新手,可以自由地用“新”的方式做事,所以我基本上忽略了文档中1.7之前的部分。不过,在比较各种文章、文档和示例脚本时,我还是感到困惑 归根结底,我找不到一篇关于如何为Dojo创建和部署自定义构建的直截了当的文章。最具体地说,我们需要部署哪些.js和.css文件。有很多,但我在部署时没有发现 我最终得出结论,将所有内容构建到一个dojo.js中对于移动设备来说是一种合理的做法,我只需从构建目录中提取一个文件并将其部署到我的服务器上,但随后我会发现缺少CSS引用,而且似乎反复试验

首先,我们是Dojo新手,可以自由地用“新”的方式做事,所以我基本上忽略了文档中1.7之前的部分。不过,在比较各种文章、文档和示例脚本时,我还是感到困惑

归根结底,我找不到一篇关于如何为Dojo创建和部署自定义构建的直截了当的文章。最具体地说,我们需要部署哪些.js和.css文件。有很多,但我在部署时没有发现

我最终得出结论,将所有内容构建到一个dojo.js中对于移动设备来说是一种合理的做法,我只需从构建目录中提取一个文件并将其部署到我的服务器上,但随后我会发现缺少CSS引用,而且似乎反复试验并不是解决这些问题的正确方法

以下是我们目前的具体案例:


要求(
//deviceTheme可自动检测设备样式
[   
“dojox/mobile”,
“dojox/mobile/parser”,
“dojox/mobile/deviceTheme”
]);
以下是构建配置文件:

依赖项={
条带控制台:“正常”,
图层:[
{
名称:“dojo.js”,
customBase:true,//防止自动包含dojo/main
依赖项:[
“dojox.mobile.parser”,
“dojox.mobile”,
“dojox.mobile.deviceTheme”
]
}
],
前缀:[
[“dijit”,“./dijit”],//包括示例;不清楚原因
[“dojox”、“./dojox”]
]
}
(由
dojo-release-1.7.2-src\dojox\mobile\build\build.bat
脚本执行。)

所以我想具体的问题是:

  • 对于这种情况,我应该部署哪些CSS文件
  • 我通常如何知道要部署哪些文件,包括CSS文件
  • 有没有我错过的好的、最新的教程
  • 现有脚本是最新的吗?例如,为什么
    mobile all.profile.js
    使用
    dependencies=
    而不是描述的
    profile=
    对于这种情况,我应该部署哪些CSS文件? 这是有条件的,如果一个页面使用一个特定的模块,并且它有自己的css规则,那么就包括它们

    这不是办法,但从dojo.css(base,reset)、dijit.css(base,layouts等)、nihilo.css(example-theme)和android.css(example-theme)开始将是一个很好的基础

    • 如果要使用主题,请包括“basename”,例如dojox/mobile/themes/iphone/iphone.css
    • 例如,如果iphone.css没有“@import”您使用的一些外来小部件,则包括小部件本身交付的css(例如,dojox/widget/ColorPicker/ColorPicker.css)。每个小部件的文档不应包含此内容
    我通常如何知道要部署哪些文件,包括CSS文件?
    • 上传所有文件并没有什么害处,加载程序将决定从缓存的构建中获取哪些文件,保留哪些文件,以及在运行时下载哪些文件
    • 部署一切。。当您构建“action=release”时,所有文件都会在dojo(默认值、allways)、dijit、dojox和您添加的任何包中定义的前缀范围内缩小
    • 构建会导致优化工具箱树、全部部署,否则您可能会遇到缺少条件包含(例如Toggler.js或acme.js选择器incl等)的情况
    有没有我错过的好的、最新的教程? 根据“拇指规则”,任何1.6+的文档都是稳定的,但它们大多表示相同。在启动概要文件时,可能会遇到一些尝试和错误(脚本文件的内联html包含顺序是最重要的)。您发布的内容看起来不错,但请考虑customBase:true是否必要

    确保您有1.6-1.7版和

    现有脚本是最新的吗?例如,为什么mobile-all.profile.js使用dependencies=而不是1.7构建教程描述的profile=? 你可以使用现有的,现成的。然而,建设者正在改变,向备受争议的2.0版本靠拢。目前,新计划与常规计划一样是允许的。但事实上,变量名可以是foo或bar,只有变量的值才被使用。文件必须“返回”单个对象


    据我所知,原因是这是AMD和Builder1.7+的新圣经。它一直以来都是软件包层次结构遵循的“拇指”模式,但是,随着我们向2.0迈进,语法很可能会越来越严格。(看看你能否在#dojo@irc.freenode.org上与snover联系)

    谢谢你的详细回答!总而言之,部署所有内容,了解每个模块使用的CSS(文档应指明),
    前缀
    列出了要缩小的包,
    依赖项
    概要文件
    今天也做了同样的事情。对的我使用customBase的唯一原因是因为默认的mobile-all.profile.js可以!关于customBase,我之所以这么说,是因为如果你仔细观察网络流量,你很可能会看到内核中的异步请求(_base/dom或_base/connect等)。当我使用customBase时,我会忽略所有内容,然后浏览我的视图并检查哪些文件被拉入,然后将这些文件添加到dojo.js层依赖项列表中。