最近开始做新项目,准备在项目中使用JSBuilder来进行文件管理.

到网上查了一下 最新的Builder2版本: http://www.sencha.com/products/jsbuilder

这个版本没有GUI,是一个命令行的版本 也不需要安装.

每个项目需要建立一个.jsb2的文件作为项目配置. 内容是JSON的,更合JSer的口味.哈哈.

程序运行需要JRE,没有的话需要在 http://java.com/zh_CN/ 在线安装下就可以. ( 我这里是在WIN7上的SVN里使用 就不解释Linux的问题了。)

安装好以后运行:

java -Dfile.encoding=UTF-8 -jar JSBuilder2.jar --projectFile demo.jsb2 --homeDir Bin

我在Win7上发现JRE不会创建PATH环境变量,所以装好JRE以后不能直接执行java命令,

所以写了一个bat来执行编译脚本:

@echo off
PATH C:\Program Files (x86)\Java\jre6\bin
java -Dfile.encoding=UTF-8 -jar JSBuilder2/JSBuilder2.jar --projectFile %1 --homeDir Bin
pause

临时将环境变量定制为JRE的bin目录

然后就可以执行java命令了.

-Dfile.encoding=UTF-8 是为了解决在输出项目文件的时候 debug文件编码是ANSI的BUG.(我的文件全是utf-8输出后中文注释都挂了.)

%1是项目文件的路径,我这里可以将项目文件直接拖到bat上运行.

-homeDir 是输出文件的根目录.

看下我的目录结构是不是更清晰一点?

简单介绍一下jsb2的配置情况:

{"projectName" : "projectName","deployDir" : "dirName","licenseText" : "licens","pkgs" : [{"name" : "PackageName","file" : "FileName.js","isDebug" : true,"fileIncludes" : [{"text" : "fragment1.js","path" : "dir/dir/"},{"text" : "fragment2.js","path" : "dir/dir/"}]}],"resources" : [{"src" : "resources/dir/","dest" : "target/dir/","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文件

好了,不知道我描述的够不够清楚...我的英文很烂描述是按自己的理解写的 有不对的地方请包含。

困了,睡了......

转载于:https://www.cnblogs.com/likejs/archive/2011/05/05/2037194.html

关于JSBuilder2的使用.相关推荐

  1. Extjs 3.0.0 问题总结

    1:在使用eclipse +spket  开发extjs3.0.0的版本时  发现extjs包中没有jsb文件,找了很久也没有找到,官方说是 要用jsb2文件了 是使用json格式了 ,而且要用JSB ...

最新文章

  1. 发现一款绿色toolbar工具
  2. Vue 团队公开快如闪电的全新脚手架工具,未来将替代 Vue-CLI,才300余行代码,学它!...
  3. php面试编程题_一位资深php程序员在北京的面试30个题目
  4. 台湾大学公开课《概率》第五周一道不会作的作业题 ,一种看不懂的解法
  5. wide-dhcpv6的dhcp6c配置
  6. Windows设置共享文件夹,ubuntu访问
  7. Jquery的validate表单验证
  8. 数列极限:数列极限的性质
  9. hilbert谱 matlab,转 matlab 信号处理——Hilbert变换及谱分析
  10. 结对作业 ——UI组第八组 冯富禹 齐天浩
  11. buuctf web wp
  12. 四旋翼飞行器5——各类方案设计及参考
  13. 谷歌浏览器配置微信浏览器_在 Chrome (谷歌浏览器) 中模拟微信内置浏览器
  14. 线段树入门之夜空星亮
  15. Web server failed to start. Port 9080 was already in use报错解决
  16. ADUM1201BRZ DGTL ISO 2.5KV GEN PURP 8SOIC
  17. 12Cr1MoVR是什么材质12Cr1MoVR钢板简介12Cr1MoVR化学成分钢板应用
  18. SVN版本回滚——反响合并
  19. IAR开发STM8S系列启动CMT2300A
  20. 百度输入法下载|百度拼音输入法下载

热门文章

  1. 我的世界物品java修改代码大全,我的世界秘籍_物品代码秘籍中文大全_蚕豆网攻略...
  2. bio linux 创建_Linux设备驱动--块设备之概念和框架以及相关结构体
  3. 服务器放在机柜_机架式服务器和塔式服务器有区别吗
  4. loop one image for 10 secs
  5. Optimal Step Nonrigid ICP Algorithms for surface registration
  6. MAC系统下 win7虚拟机上网应该怎么设置啊
  7. matlab中的end
  8. 深度迁移学习在花生叶部病害图像识别中的应用
  9. oracle本地没装 配置,数据库--oracle安装配置(本地安装的步骤及各种问题解决方案)...
  10. php mysql cpu100_mysql进程占服务器cpu100%的解决方法