2013-08-19 74 views
0

我已經踢上PhoneGap的輪胎,我開始使用我的 第一個真正的項目。的PhoneGap項目組織/編譯工具

有一件事我還沒有看到一個解決方案,在教程中我來 是整個項目的組織。假設我的目標是Android和iOS。

我有一個文件夾iOS的東西,我會爲 Android的東西,一個文件夾。這兩個文件夾都有一個www文件夾,其中有幾個 關卡,這就是我所有的代碼實際存在的地方,因爲其餘的 只是不同平臺的樣板文件。

現在我該怎樣去管理這個不訴諸代碼 重複?最簡單的策略可能是將www文件夾 居住在其他地方,並通過iOS和 Android代碼樹內的符號鏈接它。從

一是加大是使用某種 構建工具,iOS的/ Android的編譯器之前運行。這將有助於 這樣的東西,如與unminified與縮小代碼和許多其他 選項構建。

如果我使用一個構建工具,有什麼好/流行的選擇嗎? gruntjs 似乎越來越受js重型項目的歡迎。它是否適合Phonegap?

回答

2

我同意這個主題上的文檔很少。這也是因爲他們仍然在爲PhoneGap 3開發它們。他們重新整理了PhoneGap 3的整個項目結構,以創建組織事物的標準方式。看到這篇文章:http://blog.safaribooksonline.com/2013/07/19/streamline-cross-platform-development-using-apache-cordova-phonegap-cli/

[摘要]基本上,你有這樣的文件夾:

/合併 - 用於合併/覆蓋WWW文件夾

/平臺 - 包含本地代碼

/插件 - 插件代碼

/WWW - 主文件夾中的Web應用程序文件夾

他們還沒有得到解決,以寫因爲所有這些都是使用nodejs及其cli工具爲您自動創建的。該項目結構還有助於與PG在線構建工具保持一致。

個人而言,我們不使用在線構建工具。這是因爲我們在代碼中有一些大規模的定製,並編寫我們自己的本地插件。我們還在內部持續集成構建中使用node,gruntjs和Jenkins(在osx上)。這使我們能夠生成跨平臺的構建。我們還沒有選擇PG 3,但我們使用相同的文件夾結構,希望它能夠順利升級。

+0

我希望你看到這個回覆/評論。我非常感興趣的是你們在不通過在線build.phonegap.com網站的情況下做你的電話版本。保持我的手指交叉,以及時看到這個... – ganders

+0

ganders我相信他使用CLI – 128KB

1

我同意Noogen對Phonegap 3.0項目的基本結構以及對缺乏良好文檔的觀察。

我的觀察是,當您通過命令行界面在Android上「運行」或「構建」應用程序時,/ www文件夾確實是用於APK www文件夾的源代碼(以及AndroidManifest.xml存在基於/www/config.xml)。

對於iOS,oivvio似乎是正確的,www資源取自/ platforms/ios/www文件夾,因此如果您同時在Android和iOS上同時進行工作和測試,則需要繼續工作在main/www文件夾資源上並繼續複製(覆蓋)到/ platforms/ios/www文件夾。

當然,在文檔中沒有提到這一點。