最近开始做新项目,准备在项目中使用JSBuilder来进行文件管理.
到网上查了一下 最新的Builder2版本
: http://www.sencha.com/products/jsbuilder
这个版本没有GUI,是一个命令行的版本 也不需要安装.
每个项目需要建立一个.jsb2的文件作为项目配置. 内容是JSON的,更合JSer的口味.哈哈.
程序运行需要JRE,没有的话需要在 http://java.com/zh_CN/
在线安装下就可以. ( 我这里是在WIN7上的SVN里使用 就不解释Linux的问题了。)
安装好以后运行:
1
|
java -Dfile.encoding=UTF-
8
-jar JSBuilder2.jar --projectFile demo.jsb2 --homeDir Bin
|
我在Win7上发现JRE不会创建PATH环境变量,所以装好JRE以后不能直接执行java命令,
所以写了一个bat来执行编译脚本:
2
|
PATH C:\Program Files (x86)\Java\jre6\bin
|
3
|
java -Dfile.encoding=UTF-
8
-jar JSBuilder2/JSBuilder2.jar --projectFile %
1
--homeDir Bin
|
临时将环境变量定制为JRE的bin目录
然后就可以执行java命令了.
-Dfile.encoding=UTF-8 是为了解决在输出项目文件的时候 debug文件编码是ANSI的BUG.(我的文件全是utf-8输出后中文注释都挂了.)
%1是项目文件的路径,我这里可以将项目文件直接拖到bat上运行.
-homeDir 是输出文件的根目录.
看下我的目录结构是不是更清晰一点?
简单介绍一下jsb2的配置情况
:
02
|
"projectName"
:
"projectName"
,
|
03
|
"deployDir"
:
"dirName"
,
|
04
|
"licenseText"
:
"licens"
,
|
07
|
"name"
:
"PackageName"
,
|
08
|
"file"
:
"FileName.js"
,
|
12
|
"text"
:
"fragment1.js"
,
|
16
|
"text"
:
"fragment2.js"
,
|
24
|
"src"
:
"resources/dir/"
,
|
25
|
"dest"
:
"target/dir/"
,
|
26
|
"filters"
:
".*[\\.jpg|\\.gif]"
|
这个是官方说明:
JSB2 File Format is a JSON encoded configuration file for managing JS & CSS project builds.
JSB2格式是用JSON编码配置的
The top-level keys are:
关键的Keys设置
- projectName: 【String】 describing the project
项目名称 : 【字符串】 使用描述项目
- deployDir: 【String】 specifying directory to create within the homeDir specified on the commandline
部署目录 : 【字符串】 将生成的文件部署在根目录的指定目录中
- licenseText: 【String】 specifying the header of all .js and .css, use \n for newlines.
版权信息 : 【字符串】 会输出在所有文件的头部 可以使用\n换行
- pkgs: An array of package descriptors
文件包 : 【数组】 用一个数组来描述输出的文件包与包的信息.
- resources: An array of resource descriptors
资源 : 【数组】 用一个数组来描述需要用到的相关文件
Package Descriptors:
包描述详细介绍 归属于pkgs
- name: 【String】 describing the package
名称 : 【字符串】 包的描述
- file: 【String】 specifying the file to create
文件 : 【字符串】 输出的文件名称 如: output.js
- isDebug: 【Boolean】 describing whether to generate debug builds
This configuration is currently UNUSED. Debug and compressed versions
will ALWAYS be generated.
是否输出Debug文件 : 【布尔】确定是否另外输出一个用于调试的只合并但不压缩的文件.
- fileIncludes: An array of files descriptors which need to be included in this package.
包含文件列表 : 【数组】用来描述都有那些文件被打包到这个包中(按顺序压缩).
- pkgDeps: An array of the package descriptor file strings that this
package depends on. The behavior of this configuration relies on the
includeDeps configuration.
包的依赖描述 : 【数组】 每个数组成员为一个该包依赖的文件,这个配置依赖于includeDesps的配置.(这个我尝试了一下,但是没尝试出到底有什么用途.)
- includeDeps: 【Boolean】 describing whether or not to include dependencies in the outputted file. Defaults to false.
是否开启依赖 : 【布尔】 说明是否包括输出文件的依赖关系,默认为false.
File Descriptors:
文件描述 归属于fileIncludes
- text: 【String】 describing the file to be included
文件名 : 【字符串】 列入包的文件名
- path: 【String】 describing the directory of file to be included
路径 : 【字符串】 描述这个文件放置的路径
Resource Descriptors:
资源描述 归属于 resource
- src: 【String】 describing the folder to move resources from
资源目录 : 【字符串】 描述要移动的资源的来源目录
- dest: 【String】 describing the folder to move resources to
目标目录 : 【字符串】 描述要将资源移动到指定的目录
- filters: 【String】 to create a RegEx which specifies how to filter
the files which are copied from src to dest. All .svn and hidden files
will automatically be excluded. Note that all \'s must be encoded \\.
资源的过滤规则 : 【字符串】 创建一个正则指定移动资源的过程中的筛选.svn和隐藏的文件将自动被排除在外。请注意,所有\ 必须被编码为\\。
Filter Examples:
过滤文件配置演示
- ".*" A filter to copy all files
移动所有的文件
- ".*[\\.js|\\.css]" A filter to copy all js and css files.
移动所有的.js或.css文件
分享到:
相关推荐
JSBuilder是一款跨平台的Java应用程序,在项目构建期间,开发者使用它能够定制优化JavaScript。它依赖于简单的JSON配置文件来构建ExtJS项目,当然开发者也可以配置其他资源文件。
JsBuilder 安装文件
ExtJs使用的JavascriptBuilder工具
但是一些旧项目仍然需要它来构建-例如,ext_core(也已过时:))用法例如,我使用JSBuilder2构建ext_core项目首先, 检出项目文件:$ svn检出 ext_core $ cd ext_core 然后构建它:$ java -jar /path/to/JSBuilder2....
NULL 博文链接:https://cgs1999.iteye.com/blog/2109695
js压缩的利器,很不错的
包含文件: 1、ext-3.0.0.zip 2、JSBuilder2.zip 3、extjs_builder_tree.rar 4、ext-jsb2.zip 这些是EXT瘦身的所有需要的文件
BootstrapJS提供按需脚本加载以及自动脚本加载检测和回调通知。 引导组(包括组排序)为开发人员提供了一种定义依赖项,支持组级回调等的方法。... java -jar /path/to/JSBuilder2/JSBuilder2.jar -p ./build.jsb2 -d .
用于js的混淆以及合并,这个是Ext官方的合并工具
用于 Eclipse IDE 的基于 JavaScript 的构建器 更新站点 可能的用例 无需实际编写即可快速构建您自己的构建器的原型 简单的同步(例如,插件版本到 POM 工件版本) 不是那么简单的同步(例如,保持“源”功能与其...
代码如下:@echo offtitle Builder – 正在合并 …color 03REM =====================================REM jsbuilder beta版REMREM =====================================SETLOCAL ENABLEEXTENSIONSecho.REM 过滤...
PPPOE 接入协议