我一直在踢Phonegap的轮胎,我开始用我的 第一个真正的项目。
有一件事我在教程中没有看到解决方案 跨越是项目组织。假设我的目标是Android和iOS。
我将有一个iOS文件夹,我将有一个文件夹 Android的东西。这两个文件夹都有一个www文件夹 这是我所有代码实际生活的地方 只是不同平台的样板。
现在我如何在不诉诸代码的情况下进行管理 复制?最简单的策略可能就是拥有www文件夹 从iOS和iOS中的其他地方和符号链接到它 Android代码树。
从那以后的一步就是使用某种方式 构建在iOS / Android编译器之前运行的工具。这将有利于 像未构建的代码和缩小代码以及许多其他代码构建的东西 选项。
如果我要使用构建工具,那么什么是好/热门选项? gruntjs 似乎越来越受到js重型项目的欢迎。它是否适合Phonegap?
答案 0 :(得分:2)
我同意关于这个主题的文件很少。这也是因为他们仍在为PhoneGap 3开展工作。他们重新设计PhoneGap 3的整个项目结构,以创建组织事物的标准方式。请参阅此文章:http://blog.safaribooksonline.com/2013/07/19/streamline-cross-platform-development-using-apache-cordova-phonegap-cli/
[摘要]基本上你有像:
这样的文件夹/ merges - 用于合并/覆盖www文件夹
/ platforms - 包含本机代码
/ plugins - 插件代码
/ www - 主文件夹web app文件夹
他们还没有编写任何文档,因为所有这些都是使用nodejs及其cli工具自动创建的。此项目结构还有助于与其PG在线构建工具建立一致性。
就个人而言,我们不使用在线构建工具。这是因为我们在代码中有一些大规模的自定义并编写我们自己的本机插件。我们还在内部持续集成构建中使用node,gruntjs和Jenkins(在osx上)。这允许我们生成跨平台构建。我们还没有使用PG 3,但是我们使用相同的文件夹结构,所以希望它能够顺利升级。
答案 1 :(得分: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文件夹。
当然,在文档中没有提到这一点。
答案 2 :(得分:1)
读者可能会对build-sencha-deploy-phonegapbuild.sh感兴趣一个CLI(纯bash)工具来自动化CI并使用Sencha构建(可选)和PhoneGap Build:
https://github.com/mobimentum/build-sencha-deploy-phonegapbuild