Sencha cmd 是一个跨平台的命令行工具,Sencha Cmd可以完成一个新项目的脚手架到应用程序的生产环境的部署。凭借丰富的命令行语法和Ant集成,Sencha Cmd可以将应用程序完善地融入你的生产环境。Sencha Cmd 支持 Ext JS 4.1.1a 及更高版本和支持 Sencha Touch 2.1 及更高版本。你电脑上可以存在多个版本的 SDK。
初遇Sencha Cmd
Sencha Cmd 提供了一系列功能强大的节约时间的功能,结合Sencha Ext JS 和Sencha Touch框架协同工作。Sencha Cmd 提供了如下几个能力:
1.代码生成工具:代码生成工具生成整个应用程序并且扩展生成mvc的组件。
2.JS编译:框架意识,Javascript 编译器了解Sencha的语义语法,并且从你源代码构建的时候产生较少的足迹。编译器通过Sencha框架剑圣加载应用程序的时间来优化高层次的语义。
3.网络服务:提供了轻量级的网络服务。
4.本地包装:以一流的移动应用程序访问设备给移动应用程序并且可以方便的分布到移动商店。
5.包装管理系统:方便集成的由管理系统(像Ext js 的主题)
6.构建脚本. 通过在应用程序中增加“before”和"after"给应用程序增加一些额外的设置点让客户可以定制适合自己需求的脚本。
7.转换工具:强大的代码选择器转换你项目中需要最终构建需要的代码,决定页面和局部共享代码的高级别选择集像你需要的那样构造。
8.工作空间管理:过不同的应用程序共享框架工作,包河自定义的代码透。
9.图像提取:转换CSS3的特性(比如边界半径和线性梯度)
10.灵活的配置系统: 在一台机器上允许命令行操作程序或者在工作空间级别或者整个工作空间。
11.日记功能:强大的日志功能帮助你理解整个内部的命令行工作,排除故障。
12.三方控件: Sencha cmd 包含了Compass sass 和ant 、
13.代码生成的钩子:可以指定到一个页面或者在工作控件分享所有页面,例如检查daunting的惯例或者产生新的模型。
Sencha基本命令
----------------------
使用help命令
sencha help
Sencha Cmd v5.0.n.n
...
Options
* --cwd, -cw - Sets the directory from which commands should execute
* --debug, -d - Sets log level to higher verbosity
* --info, -i - Sets log level to default
* --nologo, -n - Suppress the initial Sencha Cmd version display
* --plain, -pl - enables plain logging output (no highlighting)
* --quiet, -q - Sets log level to warnings and errors only
* --sdk-path, -s - The location of the SDK to use for non-app commands
* --time, -ti - Display the execution time after executing all commands
Categories
* app - Perform various application build processes
* compass - Wraps execution of compass for sass compilation
* compile - Compile sources to produce concatenated output and metadata
* cordova - Manage Cmd/Cordova integration
* fs - Utility commands to work with files
* generate - Generates models, controllers, etc. or an entire application
* manifest - Extract class metadata
* package - Manages local and remote packages
* phonegap - Manage Cmd/PhoneGap integration
* repository - Manage local repository and remote repository connections
* theme - Commands for low-level operations on themes
* web - Manages a simple HTTP file server
Commands
* ant - Invoke Ant with helpful properties back to Sencha Cmd
* build - Builds a project from a legacy JSB3 file.
* config - Load a properties file or sets a configuration property
* help - Displays help for commands
* js - Executes arbitrary JavaScript file(s)
* upgrade - Upgrades Sencha Cmd
* which - Displays the path to the current version of Sencha Cmd
当前路径
-----------
大多数情况下,sencha cmd 需要你设定一个特殊路径,或者仅仅需要知道有关Sencha sdk的相关信息,SDK可以被自动检测到当从文件夹建立应用程序的时候,有些命令可以从SDK文件夹抽取。
重要:在下面的命令中,Sencha cmd 需要从跟文件夹运行并产生一个应用程序。
Sencha generate...(可以有 app、package、workspace)
sencha app...
这个对包来说,也是成立的。当你运行如sencha package build 时当前路径必须是包文件夹。
Sencha cmd 文档
-----------------------
许多sencma cmd的知道都是通过帮助组织建立你的认知的,它需要你遵循这些要求,如果跳跃的话,可能会得到一些令人疑惑的结果。
在每个指导的开始都是一些前期需要掌握的知识,更近一步,许多指导都以很多进一步的阅读来结束。
cmd 5有两种方法来构建Android应用
环境安装
下载 http://nodejs.org/download/
把nodejs添加到path变量中,还要在C:\Users\administrator\AppData\Roaming\中创建npm目录,运行nmp命令时会提示
npm install -g cordova
npm install -g phonegap
安装ant,官方文档都没说要安装这个
1,命令法
这种方法文档中说将来会废弃不用,不过这种方法我觉得确简单一些,只是重复调用时每次都要写命令
创建项目
cd /workspace/app
sencha -sdk /path/sencha/touch-version generate app MyApp ./
sencha phonegap init com.MyApp MyApp
此时会自动在app.json中添加builds配置
打开app.json
反注释platform改为"platform": "android",
或者
创建phonegap.local.properties
参考.sencha/app/phonegap.defaults.properties,添加
phonegap.platform=android
phonegap.build.remote=false
然后开始打包Android APK
sencha app build native
或者
sencha app build -run native
会通过adb直接安装到连接的android手机或虚拟机上并打开
这种方法在sencha cmd4上面也能用,不过不太一样在cmd4上不会修改app.json文件,但会添加config.xml到应用根目录,并自动创建phonegap.local.properties,另外可能需要移除packager.json文件
说到底命令法应该是cmd4上的遗留产物,cmd5上面已经改用app.json配置的,cmd5上的命令法也只是出于兼容目的对配置法的一个包装