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