5

这可以使用 v1.6.1 吗?由于我的客户端 dojo 部署的 Xdomain 配置,每次开发代​​码更改时都需要执行新的构建。可以想象,这是一个巨大的时间浪费。

从我所看到的一切来看,没有办法将核心从 DOJO 规则的构建中排除。所以我想知道是否有办法打破规则(修改 Rhino 调用?)到达我需要的地方。

4

3 回答 3

2

几个想法。

  1. 您可以避免构建大部分 dojo(dijit,dojox),但我想您已经知道
  2. 您面临的这种限制似乎很奇怪。是不是有什么方法可以只上传你在开发过程中编辑的特定 JS 文件?

也许如果您提供有关客户端设置的更多详细信息,我可以帮助您集思广益解决这个问题。

更新 这是我认为您需要的:在 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 磁盘以加速文件复制

于 2012-02-01T18:37:33.827 回答
1

Dojo 支持混合和匹配——因此您可以使用 xdomain 和/或自定义构建来处理不会更改的内容——并为经常更改的 JS/widget 使用常规 dojo.require——然后只需推送该 JS 即可查看没有新的 xdomain/自定义构建/部署的更改

您可以通过 xdomain build 探索使用本地模块。此外,Dojo 允许使用多个自定义构建 - 因此您可以为变化不大的小部件进行稳定的自定义构建,并为经常更改的代码进行另一个较小的构建。

于 2012-02-01T19:36:22.147 回答
1

为什么不使用dojo 1.7,异步加载,并依赖它的遗留支持? http://livedocs.dojotoolkit.org/loader/amd

于 2012-02-06T16:43:14.367 回答