Dojo自定义生成:要部署哪些文件
首先,我们是Dojo新手,可以自由地用“新”的方式做事,所以我基本上忽略了文档中1.7之前的部分。不过,在比较各种文章、文档和示例脚本时,我还是感到困惑 归根结底,我找不到一篇关于如何为Dojo创建和部署自定义构建的直截了当的文章。最具体地说,我们需要部署哪些.js和.css文件。有很多,但我在部署时没有发现 我最终得出结论,将所有内容构建到一个dojo.js中对于移动设备来说是一种合理的做法,我只需从构建目录中提取一个文件并将其部署到我的服务器上,但随后我会发现缺少CSS引用,而且似乎反复试验并不是解决这些问题的正确方法 以下是我们目前的具体案例:Dojo自定义生成:要部署哪些文件,dojo,dojox.mobile,Dojo,Dojox.mobile,首先,我们是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
脚本执行。)
所以我想具体的问题是:
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)。每个小部件的文档不应包含此内容
- 上传所有文件并没有什么害处,加载程序将决定从缓存的构建中获取哪些文件,保留哪些文件,以及在运行时下载哪些文件
- 部署一切。。当您构建“action=release”时,所有文件都会在dojo(默认值、allways)、dijit、dojox和您添加的任何包中定义的前缀范围内缩小
- 构建会导致优化工具箱树、全部部署,否则您可能会遇到缺少条件包含(例如Toggler.js或acme.js选择器incl等)的情况
据我所知,原因是这是AMD和Builder1.7+的新圣经。它一直以来都是软件包层次结构遵循的“拇指”模式,但是,随着我们向2.0迈进,语法很可能会越来越严格。(看看你能否在#dojo@irc.freenode.org上与snover联系)谢谢你的详细回答!总而言之,部署所有内容,了解每个模块使用的CSS(文档应指明),
前缀
列出了要缩小的包,依赖项
或概要文件
今天也做了同样的事情。对的我使用customBase的唯一原因是因为默认的mobile-all.profile.js可以!关于customBase,我之所以这么说,是因为如果你仔细观察网络流量,你很可能会看到内核中的异步请求(_base/dom或_base/connect等)。当我使用customBase时,我会忽略所有内容,然后浏览我的视图并检查哪些文件被拉入,然后将这些文件添加到dojo.js层依赖项列表中。