跨平台PhoneGap项目的目录结构

17

对于一个同时包含Android和iOS版本的Phonegap项目的单一源代码库,什么是一个好的目录结构?我可以使用符号链接,因为我不希望在计算机上进行任何开发。但如果有一种干净的方法可以不使用符号链接,请告诉我,因为在PC上使用git和符号链接很麻烦。我尝试过以下方法:

www/
    index.html
    js/ *.js
    xpjs-ios/ *.js
    xpjs-android/ *.js
    css/ *.css
    html/ *.html  (all other files)

android/
        (lots of java and config files)
android/assets/www/index.html -> www/index.html
                   js -> www/js
                   xpjs -> www/xpjs-android
                   html -> www/html
                   css -> www/css
ios/
    (xcode config and such)
ios/www/index.html -> www/index.html
        js -> www/js
        xpjs -> www/xpjs-ios
        html -> www/html
        css -> www/css

我将Xcode指向ios / www目录,而将Eclipse指向android / www目录。对于特定于平台的JavaScript,HTML文件引用xpjs / phonegap.jsxpjs / my-quirks.js,并获取这些文件的Android或iOS版本。

所有这些都应该可以工作,但是Xcode4似乎无法处理符号链接。如果我在Xcode编辑器中打开其中一个源文件,它可以正常读取,但是当我尝试保存时,它会显示类似于:

The document "index.html" could not be saved.  It does not exist.

当我尝试运行这个应用时,它失败了并出现了以下信息:

ERROR: Start page 'www/index.html' was not found.

肯定有人已经解决了这个问题。


你使用哪种源代码控制工具? - pinkeerach
Git在符号链接方面没有问题,只要你不在Windows上检出存储库即可。 - Leopd
2个回答

4

4

phonegap wiki上有一篇关于如何使用git子模块的文章(看起来像是初稿)。为了补充该条目,我还写了一篇关于如何使用svn:externals属性的文章。关于符号链接,我的想法是它是人们必须设置而不是从源代码控制存储库中自动获取的内容。这并不是一个问题,但是当您更换计算机或为项目增加其他开发人员时,这需要一些逻辑上的准备工作。在找到更好的方法之前,我将采用svn:externals路线。


如果我对Git有更多的经验,我会详细说明的。很想听听这个项目的进展情况。我现在正在验证SVN方面的事情。 - pinkeerach
1
我没有将答案标记为已接受,因为我真的更喜欢通过配置Xcode和Eclipse来解决问题。对于许多人来说,Git已经足够具有挑战性了,我不想在这个项目中引入另一个复杂性。 - Leopd
1
我认为这是一个公正的评论,虽然孤立地看,我可以理解客户端解决方案可能会更容易,因为这通常是你所了解的领域。但是,如果有一个由8名开发人员组成的团队,其中一些使用Windows,另一些使用Mac,那么源代码控制解决方案就变得更加吸引人了。 - Matt

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接