这可以使用 v1.6.1 吗?由于我的客户端 dojo 部署的 Xdomain 配置,每次开发代码更改时都需要执行新的构建。可以想象,这是一个巨大的时间浪费。
从我所看到的一切来看,没有办法将核心从 DOJO 规则的构建中排除。所以我想知道是否有办法打破规则(修改 Rhino 调用?)到达我需要的地方。
这可以使用 v1.6.1 吗?由于我的客户端 dojo 部署的 Xdomain 配置,每次开发代码更改时都需要执行新的构建。可以想象,这是一个巨大的时间浪费。
从我所看到的一切来看,没有办法将核心从 DOJO 规则的构建中排除。所以我想知道是否有办法打破规则(修改 Rhino 调用?)到达我需要的地方。
几个想法。
也许如果您提供有关客户端设置的更多详细信息,我可以帮助您集思广益解决这个问题。
更新 这是我认为您需要的:在 Build 中自定义 Dojo Base。这允许您指定要包含的 dojo 库的特定位。
这适用于 1.7 之前的版本,所以你应该很好。
似乎正是您想要的:
layers: [
{
name: "dojo.js",
customBase: true,
dependencies: [
]
},
// ... remainder of profile
]
这将为您提供绝对最低限度的 dojo(您的开发方案仍然不需要它,但这将大大减少处理的文件数量)。
对于其他用例,您可以使用该dependencies
属性从 dojo 核心添加其他内容。
更新 2: 这里有几个构建时优化建议:
1)在开发时不要实习字符串,也不要压缩。您可以传递一些 arg 值来避免这些耗时的步骤(例如 ant build):
<arg value="internStrings=false"/>
<arg value="layerOptimize=false"/>
2) 构建到 ram 磁盘以加速文件复制
Dojo 支持混合和匹配——因此您可以使用 xdomain 和/或自定义构建来处理不会更改的内容——并为经常更改的 JS/widget 使用常规 dojo.require——然后只需推送该 JS 即可查看没有新的 xdomain/自定义构建/部署的更改
您可以通过 xdomain build 探索使用本地模块。此外,Dojo 允许使用多个自定义构建 - 因此您可以为变化不大的小部件进行稳定的自定义构建,并为经常更改的代码进行另一个较小的构建。
为什么不使用dojo 1.7,异步加载,并依赖它的遗留支持? http://livedocs.dojotoolkit.org/loader/amd