Ant Build 参数配置简介
Sencha Cmd 6.5 之前,创建的 Workspace 和 应用 里面有 .sencha/app
目录,里面有一些 .properties
后缀的文件,如下图:
这些 .properties
里面可以配置 Sencha Cmd 在 build 项目时候的一些行为,如下图:
xxxx.defaults.properties
是 xxxx 构建时的默认配置,比如 production.defaults.properties
是 sencha app build production
时的默认配置,testing.defaults.properties
是 sencha app build testing
时的默认配置。
上图中的一些配置项说明:
build.options.debug=false
false
表示 build 后,去除源码中<debug></debug>
之间的一些调试性质的代码build.options.logger=no
no
表示 不输出Ext.Logger.warn
、Ext.Logger.error
等的日志enable.resource.compression=true
true 表示 压缩资源build.optimize
表示 build 时对代码进行优化,提高执行效率enable.split.mode=true
true
表示将框架的js类(Ext.*
),和开发者自己写的类分开打包,一个framework.js
,一个app.js
上面的配置很有用处,比如 build production
之后报错,但是找不到错误位置,我们可以在 production.properties
中进行如下配置,注意不要修改 production.defaults.properties
。
build.options.logger=no
build.options.debug=false
enable.resource.compression=true
build.optimize=
enable.split.mode=true
这样 build production
之后,代码未压缩,保留了调试性质的代码,Ext.Logger
相关的日志也会输出在控制台,app.js
文件很小,里面只有自己写的类(不然如果所有代码类混在一起,浏览器 devtools 很难打得开那么大的 app.js
)。
Sencha Cmd 6.5+
Sencha Cmd 6.5 及以后,创建的项目里去掉了 .sencha/app
目录。
Ant Build 参数可以配置在 workspace.json
、app.json
、package.json
中。
主要规则如下:
- 以 “app” 开头的配置,可以放在
app.json
。
比如,app.output.framework.enable
在app.json
中这样写:
{
"output": {
"framework": {
"enable": true
}
}
}
-
以
workspace.
和package.
开头的配置同理,放在workspace.json
和package.json
中. -
剩下形如
build.{something}
,skip.{something}
和enable.{something}
的,放在app.json
的"properties"
键下, 如下:
"properties": {
"build.compression": "",
"enable.resource.compression": false,
"enable.split.mode": true
}
和 app.json
中其它所有配置项一样, 这个 "properties"
对象也可以嵌套放在 production
, testing
, development
或者其它 build profile 里面,这样这些配置项只会在这些作用域下生效。