为自动构建创建JavaScript自定义构建系统的最佳方法?

问题描述:

如何为多个JS客户端应用程序创建构建系统,全部使用相同的框架,但是框架部件的不同组合?这将使所有客户端应用程序能够自动接收框架更新,而不必依赖于一个包含全部框架能力(这将是相当次优的)的分发文件。为自动构建创建JavaScript自定义构建系统的最佳方法?

在最好的情况下,客户端应用程序将使用从框架项目唯一的特定部分(原始的,非最小化的文件),在部署时,同时,应用程序将只有一个仅包含框架的需要的功能脚本。另外,如果(/当)所有这些都不能自动完成,则应该只有一个“makefile”用于这两者,在开发中加载单个文件并构建单个JS文件进行部署。

+0

你看过蚂蚁吗?它可能会满足您的需求,但它将是一些手动工作来设置它。 – 2010-09-27 12:25:14

+0

嗯。猜猜我应该更具体。我正在使用Ant,但它涉及一些相当复杂的事情来让流程像我描述的那样运行。我只是想知道是否会有更好和/或更简单的方法。 – crappish 2010-09-27 14:55:25

+0

我一直在想这样的事情,但是我找不到一个不坏的解决方案。我总是想知道Google如何完成他们的JS部署... – DashK 2010-09-29 14:44:42

我最终设法通过定制构建文件,使用PHP完成自定义运行时构建系统,复杂的JavaScript非耦合框架和大规模Ant构建脚本的组合,完成编译和部署。 :P

GWT通过称为“延迟绑定”的功能来执行您所请求的操作。 http://code.google.com/webtoolkit/doc/latest/DevGuideCodingBasicsDeferred.html

GWT编译器在编译时生成的代码很多版本, 版本每浏览器类型自动创建的,并且有可能此功能扩展到其他参数,例如用户定位偏好或完全任意的参数。