天天看點

Sencha Cmd 3.0 使用入門

無論 Sencha Touch 還是 Ext JS,官方所提供的不單純是源碼、文檔等那些固然已是重要的分發,——一個強大可用的開發工具更是漸漸地被衍生出來,——它是 Sencha Cmd,一個伴随 JS 項目開發而研制的新型工具,它不但走入了我們的視野,而且一路發展,愈漸成熟。Sencha Cmd 在 2.x 版本的時候稱作 Secha Command,它是純指令行工具,沒有 GUI 界面,不依附任何 IDE,卻又讓我們程式員有對 IDE 那般的順手和千般“依賴”。

v3.0 比 2.0 改進來得大,是以我們一般推薦使用新版的 3.0。注意 3.x 版本從 Sencha Ext JS version 4.1.1a、Sencha Touch, version 2.1 Beta 3 開始支援。 

來說說簡單的安裝過程,如下:

因為多數使用者使用 Win32 平台,下面就已 Win CMD 指令台為例子進行說明。安裝了 Sencha Cmd,先測試一下是否安裝成功。我們進入剛解壓縮的 ExtJS / Sencha Touch 之 SDK 目錄(或說 SDK 檔案夾),注意不是 Sencha Cmd 的目錄。在指令台通過 cd 進入 SDK 目錄,敲入 ”Sencha“ 試試:

如安裝成功,顯示如下:

其實你在任意一個目錄中運作 sencha.exe 程式都可以,因為安裝 Sencha Cmd 的時候已經為我們設定好 Sencha Cmd 的環境變量,以友善調用。

Sencha 本身就是可執行程式的名稱,也可看作一種集合,其下面有許多子產品供調用。使用者輸入指令的時候遵循一定的格式,格式如下:

不清楚某個子產品怎麼用?使用 help 幫助指令吧,所有指令皆可,格式如下:

如果單純敲入 sencha help:

那麼将會出現各個指令使用方法的清單,也就是“指令一覽表”:

為了讓了 Sencha Cmd 擷取 SDK 的相關資訊,通常我們要指定好目前所在的目錄。

要運作下列指令,Sencha Cmd 必須事先曉得 SDK 之所在。你可以每次手動指定(在 sdk 目前指令下運作 sencha.exe 即可),或者一次性确定。若不指定,将會報錯“[ERROR] Failed to determine framework name.  Please ensure this command was issued from either a framework or application directory”:

隻要解壓縮 SDK,有了 SDK 之所在(有目錄了)于是便可以讓 Sencha Cmd 确定 SDK 在哪,确定一次後則不用以後多次重複輸入了。附帶 -sdk 參數指定便可:

要運作下列指令,Sencha Cmd 必須事先曉得目前項目之所在,否則會報錯。

“generate” 是 Sencha Cmd 其中一大子產品,字面上就是動詞“生成”的意思,“sencha generate app” 的話明顯是導出一個空程式,是以我們說建立一個程式、生成一個新的項目也是發轫于此。該指令的第一個參數“MyApp”是項目名稱,第二參數是項目的路徑所在。 

加 -p 參數亦然:

通過該指令,Sencha Cmd 把運作 程式最基本的要素,——整個程式結構,包括 js/css/html……還有相關的配置檔案都生成到指定的地方。據官方指南說,如果基于 ExtJS SDK 生成的,其生成的項目隻能運作在桌面上;如果基于 Sencha touch  SDK 生成的,則其生成的項目隻能運作在手機上。

好,今天就這裡止筆吧。

執行打包的過程依賴 compass 編譯樣式。這是 v3 較 v2 新增的地方,v2 不需要 compass。關于 compass 工具的簡介可以參考我以前寫過的一篇文章《Sencha SDK工具之Slicer簡介》後半部分。compass 是一個 Ruby 項目,是以我們先安裝、設定 Ruby,這裡使用 RailsInstaller.exe。安裝之後會在系統的環境變量中加入 gem.exe /ruby.exe,是以我們可立馬安裝 compass:

安裝 compass 成功之後如下圖所示:

開發人員通過 Sencha Cmd 生成一個“空的項目”,等于為項目準備了一份 Sencha Touch 的副本。 那麼當有新的 Senchat ouch 版本更新出來,例如從版本 ver 2.0.1 更新到 ver 2.1.0 的時候,那麼我們開發人員将如何更新架構及其源碼呢?Sencha Cmd 早為我們考慮到更新 SDK 的需求——整個更新過程跟建立新項目使用類似,首先還是要通過指令行進入到新版本的 SDK 目錄中,然後敲入 sencha app upgrade (您項目所在的檔案夾)/path/to/your_application 進行更新即可。

若執行指令完畢表示無縫更新架構成功,完成了新版本對舊版本的覆寫。