锁定老帖子 主题:从源码生成Ext
精华帖 (0) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (0)
|
||||||||||
---|---|---|---|---|---|---|---|---|---|---|
作者 | 正文 | |||||||||
发表时间:2007-11-17
入门有几种方案可制定的Ext,制成裁减过的版本输出。而且这是至关重要的,为什么呢?
本文主要覆盖了版本生成的三种不同方案:
在线生成的版本通过这种简易的方式hosted build tool, 任何人都可制定属于自己的EXT版本。同时这是完成这项任务最迅速和简单的方式。可是,这种方式并不包括资源文件和范例文件, 并且发布的只是当前的Ext发布版本。 该工具的主要目的是为了程序生成产品时文件部署优化。 而伸缩性更强的方案,或是说要在开发过程中的生成Ext的分支版本, 就要看看接下来的部分。 生成步骤
Online Builder 利&弊
SVN的相关事项访问Ext SVN(Subversion)空间的功能限于为技术支持用户提供。虽然下面的生成方案不一定需要SVN访问这一功能,但如果要获取最新的Ext代码,就必须从SVN上下载。 如果你拥有一个SVN访问,推荐安装一个SVN客户端或IDE自带的SVN访问功能。有许多的客户端可供选择,Windows用户的话TortoiseSVN可能是最好的选择。讨论SVN的安装和配置已经超出了本文的范围。而下面的部分就假设读者已经有一个已配置好的SVN客户端并能运行起来。 Ext SVN Builder更为方便的Java工具,允许一行命令就生成整个Ext目录树包括(source、resource和examples)。不过,它不提供像GUI 那种灵活的方式选取文件来生成。因此, 它常用于SVN用户下载最新版的EXT后测试的工作。如果你没有SVN的访问, 这个工具对你的作用可能不大,不过可用JS Builder来代替。 生成步骤
命令行有下列的参数:
构建自定义生成像本文开头所提及的那样,Ext SVN Builder主要用于在随时的情况下,生成来自SVN的最新版本。 而且, 对于读取.jsb格式的文件也是毫无问题的。因为这种文件是JS Builder项 目的保存格式, 为每个项目的发布都保存了一切的依赖关系在其中。即使这种文件是为JS Builder而设的,但是你也可以根据自身的需求修改里面的内容和SVN Builder配套使用(译注:jsb使用xml保存)。 一般来说, 如需要这种层面上的应用,倒不如用JS Builder, 可能更适合你的需求,我们下一节分析。 自动化脚本Ext SVN Builder工具的一大优点是能配合shell脚本(windows世界便是批处理文件)轻松地自动生成输出。这样可省下每次生成输出时输入路径和记忆路径的时间。这里就以一个简单的例子作示范,不过当然你应根据当时的情况调整脚本环境。 Unix Shell Script正如获取它那样容易—只需简单地保存相同的控制台命令(如下)到一个文本文件,这个生成步骤就由你自己所写的脚本调用执行。例如, 你创建了一个叫做"build-ext-2.0"的文本文件包含这段脚本: java -jar builder.jar -s "/your/path/to/svn/dir" -o "/your/output/dir" ...你就会在控制台里执行,像Bourne Shell的写法会是sh build-ext-2.0 Windows批处理文件把下列的脚本保存为一个批处理文件(如"build-ext-2.0.bat"),并设置所需的路径变量。路径变量中的空白符要作适当的处理。假设 脚本文件和builder.jar是在同一个目录下, 不过可通过设置绝对路径解除文件位置的限制。注意Java路径必须明确地声明好因为批处理自己不能从系统路径中获取。文件创建好之后,在资源管理器中双击 执行或是命令行的方式执行,如: build-ext-2.0 echo off Ext SVN Builder Pros & Cons
JS BuilderJS Builder (简称JSB)是管理生成文件的成熟方案,而其本身就是在Ext团队内部用于发布工程版本的工具。 虽然只能在Windows .NET环境下运行,在某些场合可能会受到一些限制,但它比其它以上讨论过的生成方案有着更多的优点。 .jsb 格式的文件包含了Ext代码发布生成的信息,可用JSB的图形界面来打开与编辑。 JSB GUI要完整地讨论JSB的使用已经超出了本教程的范围。 实际上, JSB不仅有一般的压缩/输出功能,还可将指定的JS和CSS文件一起输出到项目指定生成版本。 简单试着创建一个新的项目,然后加入你所需的文件。在Options窗口里面有些许多的选项,在Project标签页和Build标签页里面有和项目输出相关的不同设置。 接着,我们将会讨论怎么更有效地从源码生成EXT。JSB是必需的,如果你还没有,应先从JSB项目主页下载一个JSB。 完成后,接着就可进行生成的工作。 生成步骤
在Build Settings标签页的底部看起有一些列表是列出输出文件的,这些就是“输出目标”,或是将多个源文件捆绑成为输出文件。其目的在于创建在用一个程序中以不同的功能区分的多个包的版本。你注意到了 ext.jsb那一项是"Everything" — 这是定义了许多人默认使用Extext-all.js的版本。你可根据自身的需求来编辑这些输出目标。按照这种方式来管理你的项目是一个不错的方式—你可将全部的JavaScript的程序代码整合到单独一个文件中去。
JSB控制台(Console)JSB亦提供方便的命令行的控制台版本。利用批处理文件Ant脚步等自动化生成版本时,Console就显得很有用。使用JSB的控制台也是非常简单的: 生成步骤
自动化脚本像本文开头所提及的那样,Ext SVN Builder主要用于在随时的情况下,生成来自SVN的最新版本。 而且, 对于读取.jsb格式的文件也是毫无问题的。因为这种文件是JS Builder项目的保存格式, 为每个项目的发布都保存了一切的依赖关系在其中。即使这种文件是为JS Builder而设的,但是你也可以根据自身的需求修改里面的内容和SVN Builder配套使用(译注:jsb使用xml保存)。 一般来说,如需要这种层面上的应用,倒不如用JS Builder, 可能更适合你的需求,我们下一节分析。 像刚才所说的Ext SVN Builder那样, 通过批处理脚步的方式使用命令行版本的JSB是提高效率的常用办法。把下面的脚本保存到一个批处理文件中(如"build-ext-2.0.bat")并 设置好相应的路径变量。路径变量之间空白符要作适当的处理。文件一旦创建好, 就可在资源管理器中双击执行或在命令行中输入build-ext-2.0执行。演示的例子会生成三个Ext的项目,并有详尽的登陆过程和会把之前生成的文件删除。 echo off JS Builder Pros & Cons
部署在项目开发和测试期间,你很可能会部署一次未压缩的JS文件以备调试。当你在用压缩版的JS文件时遇到了错误,-这几乎一个不可能跳过的步骤, 所给出的错误信息总是不太精确和有用。在线的Builder没有提供输出未压缩的版本。Ext SVN Builder就可选地输出标准ext-all-debug.js,大多数情况已是按照默认去做。如果你打算生成你自定义的目标版本,JSB GUI就是这样的一个方案。 一般来说,在开发过程中应坚持使用ext-all-debug.js作为一种简单的方案采用,开发最终完毕后再来制定压缩版本的输出。 有关JS压缩时的注意事项有许多压缩、混淆JavaScript的工具可用。 JS Builder使用了JSMin(仅限语法压缩没有文本压缩),对于生成开发版本,是没有太大关系的。不过对于发布产品而言,你会考虑更好优化方案,由其 他的工具来压缩或是混淆。 是否真得有效很可能就要看几个变量了,尽量尝试几种工具的组合,比较出来的结果总是有用的。举个例子,你可能会使用JSB输出一个单个未压缩的文件,然后 交给 ShrinkSafe 来负责压缩, 在最终部署之前确定一个调优的输出生成方案。 这里是一些常见的JavaScript方案: CompressorRater 是一个专门比较这类工具的网站,并提供一个基本的基准测评以便分析确定哪种方案。 到最终发布阶段,你应该将gzip派 上用场。Gzip在服务器上(译注:会牺牲一些CPU占用比率)压缩了JavaScript文件,使得在HTTP发送过程中是一种压缩的状态,到达浏览器 的最后一秒就会解压缩,从而节省了相当数量的传输负载(甚至对于裁减的文件亦一样),有利于你程序初始化速度的提升。 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
||||||||||
返回顶楼 | ||||||||||
浏览 6006 次