Dojo构建系统:只在需要时构建dojo?

时间:2013-10-21 19:42:32

标签: javascript ant dojo

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

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

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

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

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

1 个答案:

答案 0 :(得分:0)

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

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

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

该列表并非详尽无遗,但它会为您提供一些可以尝试的方向。