1

伙计们。我的任务是尝试优化我们应用程序中的 Javascript 构建过程。它使用 Dojo 库和构建系统,目前完整构建大约需要 6 分钟。

我认为,部分问题在于道场库本身,尽管几乎没有改变,但每次都被缩小和重建。在设置生产环境时,这对我来说很好,但我们的许多开发人员经常在他们的本地计算机上重建应用程序的 UI,这成为一个很大的时间消耗。

我一直在通过 dojo 的构建系统寻找实现此目的的好方法。我们已经有一些 Ant 任务可以检查所有 CSS 文件或所有 JS 文件是否是最新的,并且只相应地构建某些文件类型,但部分构建似乎没有得到很好的支持。

实际上,我已经尝试过自己构建我们自己的“profile.json”文件,并注释掉了 dojo 包含,但它随后会引发许多与丢失文件相关的错误。(错误:找不到依赖项“dojo/dom”等)。我曾希望它可以自己编译每个单独的文件,而不需要处理依赖关系,除非一个文件被编译成一个层。

我正在寻找的是一种仅在自上次构建后发生更改时才构建 dojo 包的方法。我知道 dojo 的构建系统有很多定制,但是我一直找不到任何可以在构建系统的知识中“包含”一个包的东西,但没有做任何事情来压缩它。单独的“包:”声明似乎不允许进行太多的单独定制。

4

1 回答 1

0

我们在工作中遇到相同的问题,并且从一个项目到另一个项目,方法可能会有所不同,因为 dojo 还不支持真正的增量构建。

以下是您可以查看的一些提示。

  • 如果您使用的 dojo 版本 >1.7(或者可能是 1.8),您的开发人员可以使用未压缩的 JS,并且仅在您想要打包应用程序时激活 js 构建(通过 maven,ant,...),事实上您也可以使用以前版本的 dojo,但您可能会遇到一些国际化问题。
  • Dojo 相当大,您可以通过识别您实际使用的主要模块(及其依赖项)来使用它的一个子集,这将减少构建必须处理的文件数量。
  • 在“开发模式”下构建 js 时,检查构建配置以使其更轻。

该列表并不详尽,但它会给你一些可以尝试的方向。

于 2013-10-21T21:34:50.993 回答