如何使 Dojo 开发保持高效并仍然使用 Dojo Build 进行部署?

Posted

技术标签:

【中文标题】如何使 Dojo 开发保持高效并仍然使用 Dojo Build 进行部署?【英文标题】:How do I keep Dojo development productive and still deploy using Dojo Build? 【发布时间】:2014-02-04 17:30:31 【问题描述】:

我是 Dojo Build 实用程序的新手,用 Google 搜索我的手指已经麻木,但仍然对如何拥有高效的开发环境并仍然利用自定义构建的好处感到困惑。

我使用 MyEclipse 进行开发,使用 SVN 进行源代码控制,使用 WildFly 进行部署。我喜欢这种设置允许的快速原型制作。

断言:

我想使用 Dojo 构建来加快我部署的应用程序。 我不想在开发过程中在每个小错误修复之间重建所有 Dojo。 我不想在部署前手动更改 html 文件中的 dojo 路径。 我不想在每个项目中都拥有 Dojo 基础架构(Dojo、Dijit、Dojox、util)并多次存储在 SVN 中。

我似乎无法理解如何在不违反上述断言之一的情况下拥有高效的开发环境以及从开发到部署的平稳过渡。

非常欢迎您的建议和示例。 :-)

谢谢你, 戈登

【问题讨论】:

【参考方案1】:

您所做的只是为您的应用程序构建一个 profile.js 文件,然后运行 ​​build.sh 来构建它...最后您会得到一个缩小的图像,并将其放入您的页面中...您可以定义尽可能多的单独包。所有这些都可以与您的加载构建过程集成。

我建议在几个参考资料中完成这些步骤,这需要一点时间;我没有简短的回答你的问题。

为您提供参考:

creating builds - dojo scaffolding a dojo application - 这是一篇 pre-amd 博文,但从第 6 步开始与您相关。

【讨论】:

【参考方案2】:

我最近将 eclipse 用于一些 JEE Web 项目。我要做的是:

当我开发时,我的网络服务器(tomcat)从我的WebContent 文件夹中提供文件。我所有的非构建文件都放在这里,包括图像和所有网络内容。这让我可以进行更改并立即在浏览器中运行它,而无需构建任何东西。

我制作了一个构建脚本,它将把我想要的所有文件从WebContent 复制到WebContentBuilt。它还运行 dojo 构建,再次将构建的文件放入 WebContentBuilt。我几乎把所有的东西都复制了一遍。然后,我在eclipse中更改deployment assembly(右键单击项目>属性>部署程序集)。我删除了将WebContent 部署到/ 的条目,并为WebContentBuilt 添加了一个条目。现在,tomcat 将提供该目录中的文件。此外,如果您现在导出一个战争文件,它将导出构建的文件。当您完成并想要返回您的开发设置时,只需反转您对部署程序集所做的操作即可。

基本上,我有两个文档根,一个用于未构建,一个用于构建,我只需将网络服务器指向我想要的任何一个。

我从不将构建的东西放在源代码管理中。其实我忽略了整个WebContentBuilt

我不知道如何在每个项目中不保留一份 dojo 的情况下实现这一目标。通过将公共项目放在 Eclipse 构建路径上,并让公共项目导出某些内容,我已经成功地在多个项目之间共享了 java 文件,但我从未尝试过使用 WebContent 文件夹中的客户端文件进行此操作。

注意- 更改部署程序集后,tomcat 必须“重新发布”。这需要很长时间,因为 dojo 有很多 friggin 文件。所以,总而言之,这很不错,只是我必须手动更改一些 ide 设置才能进入我的伪生产模式,这样我才能进行构建,这需要很长时间。但是,我很少进行构建,所以还不错。

【讨论】:

一种在项目之间共享dojo库的可能方式:***.com/questions/348469/…

以上是关于如何使 Dojo 开发保持高效并仍然使用 Dojo Build 进行部署?的主要内容,如果未能解决你的问题,请参考以下文章

如何从AMD dojo创建构建

使用Dojo lang.hitch将参数传递到调用的函数中

使用 dojo 工具包的网格时,如何使列无法排序?

Dojo 选择小部件验证

使 Dojo 网格单元可编辑时遇到问题

Dojo vs Dijit - 要包含或引用的文件?