Meteor 模板能否打包并部署为 PhoneGap 应用程序?
7 回答
是的,这是可能的,但不能通过将流星应用程序打包到手机上。您必须将 phonegap 指向您的流星服务器(您仍然可以使用 API 访问设备上的功能)。以下是说明:
- 从https://github.com/phonegap/phonegap获取 phonegap 2.2.* 的最新副本(2.1 有一个错误阻止此技术工作)
- 使用此处的说明创建您的 phonegap 项目并将您的流星服务器域名列入白名单:http: //docs.phonegap.com/en/1.9.0/guide_whitelist_index.md.html
- 对于 iOS,找到并打开 CordovaLib/Classes/CDVViewController.m 并在第 175 行附近,用 appURL = [NSURL URLWithString:@"http://your-server.com"] 覆盖 appURL;
而已。编译并运行应用程序。
几个节省时间的方法:
- 您可以通过将 www/ 目录内容复制到流星服务器根目录来开始设置流星目录。确保复制 client/ 目录下的 javascript 文件,以便它们在主要的流星 js 文件之前加载。
- 从你的meteor js主文件运行app.initialize(window),如果没有传递window参数,应用程序会崩溃。
- 不要尝试在 Xcode 中的 www/ 目录下设置流星服务器。您将无法部署到设备,因为 .meteor 子目录包含指向您的节点模块的符号链接。
从 0.9.2 版本开始,Phonegap 很容易使用: https ://www.meteor.com/blog/2014/09/15/meteor-092-iOS-Android-mobile-apps-phonegap-cordova
好吧,我想最好的起点是弄清楚你想要/需要走多远。
你想要
连接到某处服务器的 Meteor.js PhoneGap 应用程序?然后你可能想在 PhoneGap 项目中使用 Meteor 类并使用 Meteor.connect(url) 连接到你的服务器。
离线应用程序数据持久性 - 这将变得艰难......这不是 Meteor 的设计初衷,尽管肯定有办法
实现它。我记得来自主干、脊柱和
其他客户端 JS 框架的讨论。使用本地存储很容易,但是当您想要在本地和服务器之间同步数据时,真正的努力就开始了。
这应该有助于达到重点......
我在某种程度上以粗略的方式完成了我遵循的过程:
- 以待办事项为例
- 创建一个 todos 包
meteor bundle ../todos.tgz
- 提取捆绑包 在编辑器中打开提取的捆绑包
- 打开 static_cacheable/ 文件夹中的 .js 文件并对其进行格式化,并将来自“file://”请求的 ajax 调用替换为实际的主机请求。
- 我在第 1766 行做了这个,它创建了 ajax 处理程序
u.protoype._start = function(a, d, e, f){
d = d.replace("file://localhost","http://localhost:3000");
...
}
之后在浏览器中打开 app.html 文件并确保服务器已经在运行。这样您就可以让大部分应用程序正常工作。
但是,这不是您希望在实际应用程序中使用它的方式,但是通过更多更改,可以在 Phonegap 中使用客户端,而服务器在其他地方运行。
编辑
Meteor 有一个方法connect可以连接到不同的流星应用程序,它可能会解决上述 url 替换调用,尽管我还没有尝试过。
这是使用PhoneGap在移动设备上使用PhoneGap在移动设备上移植Meteor应用程序的简单步骤
只需将您stream_clientbf90.js
的端口更改为您的域即可。它可以工作。
这是 phonegap + meteorjs + oauth2 的现场演示。
我在 google play 上用流星创建了这个应用程序。
https://play.google.com/store/apps/details?id=com.youiest.tapmatrix&hl=en
这是私人作品,所以不能透露源代码。
请随时提出问题。
我尝试使用多种方法来使用流星 + phonegap。
谢谢。
还有这个包:https ://github.com/awatson1978/cordova-phonegap
我没有亲自尝试过,但这似乎是正确的方法。
更新:在 8 月的 devshop 中,核心团队宣布了对 phonegap 的支持,并提供了很酷的演示和东西。
要玩它:
meteor update --release CORDOVA-PREVIEW@3
入门:https ://meteor.hackpad.com/Getting-Started-With-Cordova-Z5n6zkVB1xq