2011-12-31 44 views
3

我正在使用PhoneGap來構建支持html 5的應用程序,並且我想使用haml,sass和coffee-script。有沒有辦法在xcode 4.2中構建過程的鉤子,以便文件被編譯爲HTML,CSS和Javascript?使用PhoneGap在xcode上編譯haml,sass和coffeescript

我是新來的xcode,仍然試圖找出這些複雜的構建設置。謝謝你的幫助。

回答

3

是的,你所描述的是什麼稱爲構建階段(參考文檔here)的一部分。

在項目中選擇目標後,您可以添加一個「運行腳本」目標,該目標在構建時編譯所有自定義內容類型。既然你可以指定一個「shell」(它實際上是任何解釋器),你可以用(幾乎)任何你想要的語言來寫它。

一些提示:

  • 有一個稱爲$PROJECT_DIR包含到XCode項目的絕對路徑的環境變量。您需要使用它(例如$PROJECT_DIR/www指向您的www文件夾)。

  • 儘早將您的運行腳本放在構建階段,因爲其他階段可能取決於生成的內容。

  • 我強烈建議您將「運行腳本」構建階段作爲VC中的可執行文件,並且只能使用粘貼腳本將腳本加載到VC中。

  • rsync是在不知道其內容的詳細信息的情況下鏡像另一個目錄的最佳(也是最快)方式。特別有用的是這個任務是--delete標誌修剪被刪除的文件。如果您可以運行XCode 4.2,它已經存在於您的系統中。

  • 在輸出其結果可能只是作爲運行腳本構建階段作爲有效的端部的外部觀察者腳本(例如guardcoffee --watchcompass --watch)。

+0

謝謝Jacob。我最終實現了一個單獨的src目錄的Guard。我發現這是一種很好的方式,可以將最常編輯的文件與iOS和HTML編譯文件分開。 – chrishomer 2012-01-04 19:25:21

+0

不客氣!我經常嘗試構建階段腳本的方式,但似乎總有一些工作不正確,我會回頭看看注入源代碼,就像你所描述的那樣。 – 2012-01-05 08:39:12

1

我最近寫了一個blog post這個。我的建議是使用帶機架服務器的鏈輪。鏈輪是管理資產的最佳方式,機架式服務器可通過桌面瀏覽器實現快速開發。