Meteor可以和PhoneGap一起使用吗?

Mar*_*tes 68 cordova meteor

可以将Meteor模板打包并部署为PhoneGap应用程序吗?

sne*_*nez 39

是的,这是可能的,但不是通过将流星应用打包在手机上.您必须将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 /目录内容复制到meteor服务器根目录来开始设置meteor目录.确保复制客户端/目录下的javascript文件,以便在主meteor js文件之前加载它们.
  • 从主meteor js文件运行app.initialize(窗口),如果未传递window参数,应用程序将崩溃.
  • 不要尝试在Xcode中的www /目录下设置流星服务器.您将无法部署到设备,因为.meteor子目录包含指向您的节点模块的符号链接.

  • 谢谢!但我没有改变ViewController.我刚刚将`config.xml`更改为`<content src ="http://127.0.0.1:3000/"/>`,因为默认情况下,Viewstroller中的属性设置为appURL. (8认同)

Mit*_*šek 8

从0.9.2版本的流星开始,很容易使用Phonegap:https://www.meteor.com/blog/2014/09/15/meteor-092-iOS-Android-mobile-apps-phonegap-cordova


tho*_*sf1 7

好吧,我想最好的起点是弄清楚你想要/需要走多远.

你想要

  • 一个连接到某个服务器的Meteor.js PhoneGap应用程序?然后,您可能希望在PhoneGap项目中使用Meteor类,并使用Meteor.connect(url)连接到您的服务器.

  • 离线应用程序数据持久性 - 这将变得艰难......这不是Meteor旨在做的事情,尽管肯定有办法
    实现它.我记得来自backbone,spine和
    其他客户端JS框架的讨论.它很容易使用本地存储,但当您想在本地和服务器之间同步数据时,真正的努力就开始了.

这应该有助于达到目的......


dha*_*val 4

我在某种程度上以粗略的方式完成了,这里是我遵循的过程:

  • 以待办事项为例
  • 创建一个待办事项包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");
        ...
    }
Run Code Online (Sandbox Code Playgroud)

之后在浏览器中打开 app.html 文件并确保服务器已在运行。这样您的应用程序的大部分就可以工作了。

然而,这并不是您希望在实际应用程序中使用它的方式,但通过更多更改,可以在 Phonegap 中使用客户端,而服务器在其他地方运行。

编辑

Meteor 有一个方法connect来连接到不同的 Meteor 应用程序,该应用程序可能会解决上述 url 替换调用,尽管我还没有尝试过。