加速Dojo构建

加速Dojo构建,dojo,dojo-build,Dojo,Dojo Build,我们正在使用Dojo1.9运行应用程序的构建,而构建本身需要花费大量的时间来完成。大约10-15分钟 我们的应用程序无论如何都不是很大。大概15万吧。没什么特别的。此外,当使用节点在本地运行此构建时,只需不到一分钟的时间 但是,我们使用Rhino在RHEL服务器上运行构建,该服务器具有足够的空间和内存。此外,任务是通过Ant调用的 我们还使用Shrinksafe作为压缩机制,这也可能是问题所在。每次构建运行时,Shrinksafe似乎都在压缩整个Dojo库(非常庞大),这看起来很愚蠢 我们能做些

我们正在使用Dojo1.9运行应用程序的构建,而构建本身需要花费大量的时间来完成。大约10-15分钟

我们的应用程序无论如何都不是很大。大概15万吧。没什么特别的。此外,当使用节点在本地运行此构建时,只需不到一分钟的时间

但是,我们使用Rhino在RHEL服务器上运行构建,该服务器具有足够的空间和内存。此外,任务是通过Ant调用的

我们还使用Shrinksafe作为压缩机制,这也可能是问题所在。每次构建运行时,Shrinksafe似乎都在压缩整个Dojo库(非常庞大),这看起来很愚蠢


我们能做些什么来加快速度吗?或者我们做错了什么?

是的,那太过分了。我从未见过构建需要如此长的时间,即使是在Atom CPU上

除了前面建议使用Node.js而不是Rhino(到目前为止,Rhino是构建性能的最大杀手)之外,如果所有代码都已正确绑定到层中,则可以将
optimize
设置为空字符串(不优化)和
layeropimize
设置为
“闭包”
(闭包编译器)在您的构建配置文件中,只有层将通过优化器运行


除此之外,您应该确保运行构建的系统没有问题。(构建文件位于NAS上,链接速度慢?CPU风扇损坏,迫使CPU时钟不足?只有一个内核的旧CPU?RAM不足/不好?其他人决定在其上安装TF2服务器,但没有告诉您?

Node也比在构建中使用Rhino快得多,在服务器上安装节点是一种选择吗?每次构建时,代码是否也会压缩整个dojo库(dojo、dojox和dijit)?我觉得很可笑。知道有什么办法吗?所有这些都被捆绑到一个单层文件中,只有使用的dojo模块被包括在内。因此,您应该只需要在生产中引用该文件。感谢您的回复。如果我使用优化设置来实现这一点,那么这是否意味着整个Dojo库将在运行时解压缩?此外,这也必然是一件坏事吗?因为理论上我请求的任何Dojo文件都应该在我的层中,对吗?不在层中的模块将不会得到优化。如果您使用的Dojo模块在层中,那么它们将在这些层中进行优化。构建系统首先构建所有文件的唯一半合理的原因是,您可以在运行时有条件地要求模块存在,以避免应用程序失败,但只要您知道所有模块都是构建层,那么这并不重要。感谢您的回复。这是有道理的,它加快了我的建设。节点是不可能的,但我确实切换到Closure进行优化(与Shrinksafe相反),现在我只压缩我的层。使用一些较小的AWS isntance(小型/中型)10-15分钟并不少见。它们既没有读/写速度,也没有在合理的时间内完成构建的处理能力。