善待自己,珍惜今天,恩泽他人,享受生活

不放弃任何解决困难的机会,人的一生就是解决困难的过程。 当我们走完一生才能说没有问题要解决了。 面对工作、生活上的压力,面对来自家庭、朋友、同事、上司等的困惑。 要排除万难,否则我们就会被万难排除!

博客园 首页 新随笔 联系 订阅 管理

转载自 mallor

最终编辑 mallor

目录

一、什么是JSBulider. 1

二、使用JSBuilder2. 1

2.1下载JSBulider2:... 1

2.2演示项目说明:... 2

2.3配置jsb2文件... 2

2.4发布目录结构... 5

2.5执行构建... 5

2.6部署后信息... 5

三、总结... 6

一、什么是JSBulider

JSBuilder是一款跨平台的Java应用程序,在项目构建期间,开发者使用它能够定制优化JavaScript。它依赖于简单的JSON配置文件来构建ExtJS项目,当然开发者也可以配置其他资源文件。【译http://www.sencha.com/products/jsbuilder

JSBuilder2与JSBuilder1相比,增加对CSS资源的支持。

二、使用JSBuilder22.1下载JSBulider2:

下载地址http://www.sencha.com/products/jsbuilder

本页有JSBuilder简介,下载后解压,如图一目录:

图一

1、 JSB2FileFormat.txt:构建项目时JSON配置参数说明,稍后配合例子说明。

2、 JSBuilder2.jar:JSBuilder构建类库。

3、 Readme.txt:执行JSBuilder方法说明,打开后可以看到不同平台用法,如window下:java -jar JSBuilder2.jar --projectFile C:\Apps\www\ext3svn\ext.jsb2 --homeDir C:\Apps\www\deploy\,具体参数稍后解释。

2.2演示项目说明:

本人从最简单构建js说起,建立ExtJS项目,目录结构如图二:

图二

demo目录为项目根目录,src文件夹为ExtJS代码及资源文件等,为演示方便简单建立js、image文件夹。其中,js文件夹存放两个js文件分别为:hello.js和display.js,image文件夹存放图片资源。如下图三、图四:

图三、Js目录内容

图四、image目录内容

为演示方便hello.js和display.js内容非常简单,主要为明白jsbulider使用原理。

hello.js代码如下图五:

图五

display.js代码如下:

图六

可以看到很简单,hello.js输出日志并调用display.js函数,下面这个比较重要就是配置构建JSON配置文件。

2.3配置jsb2文件

在我们使用Ext项目类库文件时,可以看到其中含有一个ext.jsb2格式文件,它就是extjs发布时的构建配置文件,如下图七。

图七

不妨打开看下ext.jsb2文件,如图八,就是一个JSON配置文件,详细说明了Ext构建发布版本是的配置信息。

图八

可以看到就是一个JSON文件。这时,开始我们自己项目的配置文件吧。

1、 新建一个jsb2文件

为了配置方便可直接拷贝一份ext.jsb2文件再上面直接修改,内容如图九:

图九

2、 参数说明:

a) "projectName": "Demo",为项目名称,可以根据情况自己定义;

b) "deployDir": "demo",为项目根路径名称,对于我们的演示项目就是demo;

c) "licenseText": "Ext JS Library 3.2.1.......",为授权信息,可以不管直接套用ext.jsb2的信息;

d) "pkgs":[{}……],为构建部署是包配置说明,很重要。从JSB2FileFormat.txt中看到它的值为数组,每个数组又是一个JSON对象,用于配置部署信息。在本例中只放入一个JSON数据,其共有五个属性:

- name: 此JSON数据的说明信息

- file: 生成js文件的路径信息,即生成的js文件叫啥,存放在哪个目录(目录相对于jsb2存放路径),我的jsb2文件放在于demo目录平级,并把目标路径dest目录也与其平级,所以路径应该是”/dest/demo.js”,可以依据情况设置。

- isDebug:是否为调试模式,如果是回生成一个调试文件,类似ext-all-debug.js

- fileIncludes:配置生成的部署文件包含哪些代码文件,也为数组配置格式,有两个属性:-text:包含的js文件名;-path:此js的父目录;可以参照本演示项目配置文件理解。

- pkgDeps: 依赖包配置,还没有研究。

- includeDeps: 是否启用依赖,为布尔值。

e) resources:为配置资源信息配置,本例失败原项目中demo/src/image下的文件部署到目标路径dest/image下,如果需要过滤文件可以配置filters属性,如:

- ".*" A filter to copy all files

- ".*[\\.js|\\.css]" A filter to copy all js and css files.

2.4发布目录结构

生成的jsb2文件存放位置如下,可以对比体会路径信息,路径配置错误执行构建是回发生错误,如图十。

图十

2.5执行构建

在命令行执行如下指令:

java -jar JSBuilder2.jar -p ./demo.jsb2 -d ./dest

- JSBuilder2.jar:为类库

./demo.jsb2:为配置文件

./dest:为执行后文件部署目录

下图十一为执行过程,如配置文件有错回提示错误信息,调整完后在执行。

图十一

2.6部署后信息

下图十二为部署后目录信息:

图十二

可以看到,在dest目录想生成部署目录demo文件夹,并由一个dest目录用户存放部署文件信息,右边为生成文件信息,demo.js为压缩后文件,demo-debug.js为调试文件,image为资源你文件。打开demo.js查看内容图十三:

图十三

打开demo-debug.js查看内容,如图十四:

图十四

对比两个文件可看到:

demo.js(1)把两个文件的内容生成打一个文件中(2)重新对变量进行定义并生成一行的js文件,别人很难看懂你的代码;(3)去掉了代码中的注释;

demo-debug.js只是把两个文件中的代码放在一个文件中,保留原来代码风格,有利于开发调试

三、总结

OK,终于写完了,就这样了,你有体会到JSBuilder的优势吗?

(1) 多文件合并;

(2) Js文件压缩加密;

(3) 资源文件整合;

http://blog.csdn.net/puppet_love/archive/2011/05/04/6393750.aspx

posted on 2012-05-12 09:10  笨笨丁  阅读(349)  评论(0编辑  收藏  举报