Sencha cmd 是一個跨平臺的命令行工具,Sencha Cmd可以完成一個新項目的腳手架到應(yīng)用程序的生產(chǎn)環(huán)境的部署。憑借豐富的命令行語法和Ant集成,Sencha Cmd可以將應(yīng)用程序完善地融入你的生產(chǎn)環(huán)境。Sencha Cmd 支持 Ext JS 4.1.1a 及更高版本和支持 Sencha Touch 2.1 及更高版本。你電腦上可以存在多個版本的 SDK。
初遇Sencha Cmd
Sencha Cmd 提供了一系列功能強大的節(jié)約時間的功能,結(jié)合Sencha Ext JS 和Sencha Touch框架協(xié)同工作。Sencha Cmd 提供了如下幾個能力:
1.代碼生成工具:代碼生成工具生成整個應(yīng)用程序并且擴展生成mvc的組件。
2.JS編譯:框架意識,Javascript 編譯器了解Sencha的語義語法,并且從你源代碼構(gòu)建的時候產(chǎn)生較少的足跡。編譯器通過Sencha框架劍圣加載應(yīng)用程序的時間來優(yōu)化高層次的語義。
3.網(wǎng)絡(luò)服務(wù):提供了輕量級的網(wǎng)絡(luò)服務(wù)。
4.本地包裝:以一流的移動應(yīng)用程序訪問設(shè)備給移動應(yīng)用程序并且可以方便的分布到移動商店。
5.包裝管理系統(tǒng):方便集成的由管理系統(tǒng)(像Ext js 的主題)
6.構(gòu)建腳本. 通過在應(yīng)用程序中增加“before”和"after"給應(yīng)用程序增加一些額外的設(shè)置點讓客戶可以定制適合自己需求的腳本。
7.轉(zhuǎn)換工具:強大的代碼選擇器轉(zhuǎn)換你項目中需要最終構(gòu)建需要的代碼,決定頁面和局部共享代碼的高級別選擇集像你需要的那樣構(gòu)造。
8.工作空間管理:過不同的應(yīng)用程序共享框架工作,包河自定義的代碼透。
9.圖像提。恨D(zhuǎn)換CSS3的特性(比如邊界半徑和線性梯度)
10.靈活的配置系統(tǒng): 在一臺機器上允許命令行操作程序或者在工作空間級別或者整個工作空間。
11.日記功能:強大的日志功能幫助你理解整個內(nèi)部的命令行工作,排除故障。
12.三方控件: Sencha cmd 包含了Compass sass 和ant 、
13.代碼生成的鉤子:可以指定到一個頁面或者在工作控件分享所有頁面,例如檢查daunting的慣例或者產(chǎn)生新的模型。
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
當(dāng)前路徑
-----------
大多數(shù)情況下,sencha cmd 需要你設(shè)定一個特殊路徑,或者僅僅需要知道有關(guān)Sencha sdk的相關(guān)信息,SDK可以被自動檢測到當(dāng)從文件夾建立應(yīng)用程序的時候,有些命令可以從SDK文件夾抽取。
重要:在下面的命令中,Sencha cmd 需要從跟文件夾運行并產(chǎn)生一個應(yīng)用程序。
Sencha generate...(可以有 app、package、workspace)
sencha app...
這個對包來說,也是成立的。當(dāng)你運行如sencha package build 時當(dāng)前路徑必須是包文件夾。
Sencha cmd 文檔
-----------------------
許多sencma cmd的知道都是通過幫助組織建立你的認知的,它需要你遵循這些要求,如果跳躍的話,可能會得到一些令人疑惑的結(jié)果。
在每個指導(dǎo)的開始都是一些前期需要掌握的知識,更近一步,許多指導(dǎo)都以很多進一步的閱讀來結(jié)束。
cmd 5有兩種方法來構(gòu)建Android應(yīng)用
環(huán)境安裝
下載 http://nodejs.org/download/
把nodejs添加到path變量中,還要在C:\Users\administrator\AppData\Roaming\中創(chuàng)建npm目錄,運行nmp命令時會提示
npm install -g cordova
npm install -g phonegap
安裝ant,官方文檔都沒說要安裝這個
1,命令法
這種方法文檔中說將來會廢棄不用,不過這種方法我覺得確簡單一些,只是重復(fù)調(diào)用時每次都要寫命令
創(chuàng)建項目
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",
或者
創(chuàng)建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到應(yīng)用根目錄,并自動創(chuàng)建phonegap.local.properties,另外可能需要移除packager.json文件
說到底命令法應(yīng)該是cmd4上的遺留產(chǎn)物,cmd5上面已經(jīng)改用app.json配置的,cmd5上的命令法也只是出于兼容目的對配置法的一個包裝