【问题标题】:Converting Ember Rails app to phonegap将 Ember Rails 应用程序转换为 phonegap
【发布时间】:2015-07-12 23:01:06
【问题描述】:

我刚刚开始同时使用 Ember 和 Phonegap,并且我正在使用 Ruby on Rails Ember-Rails gem,因为我想使用 Rails 进行资产预编译。我可以使用rails s 运行 Ember 应用程序,一切正常。要进入 phonegap 应用程序,我正在执行rake assets:precompile 命令,然后将指纹的 css 和 js 文件复制到资产目录并修改 index/html 文件以将它们拾取如下:

<!DOCTYPE html>
<html>
  <head>
    <title>MahimanagerPhoneApp</title>
     <link rel="stylesheet" media="all" href="./assets/application-f82ab2dfef6aa5b0589d092d8949fc1e6126d774e74d5a024c1407a7082732f6.css"/>
     <script src="./assets/application-0df5442d7ea56c8d2a38022448c2c9b57397f561885306bbdfff8db7962547c3.js"></script>
  </head>
  <body>
    <div id="ember-app"></div>
  </body>
</html>

然后我将 index.html 和资产复制到 phonegap 应用程序目录中。当我使用 phonegap cli 构建应用程序并在模拟器上启动它时,它会出现“应用程序错误 - 与服务器的连接不成功。(file:///android_asset/www/index.html)”。我已经尝试了这篇文章中的各种解决方案:Application Error - The connection to the server was unsuccessful. (file:///android_asset/www/index.html) 但没有人解决我的问题。当我在浏览器中打开 index.html 时,我得到 Uncaught UnrecognizedURLError: /home/paul/Documents/testapp/www/index.html,它来自 ember.js 文件中的某个位置,但我认为这只是因为它是从文件系统加载的,而不是从主机断开的。

我也研究了 phonegap-rails gem,但看起来它希望在 phonegap 中运行的命令来自旧版本并且不再有效。

我不太确定从哪里开始,也许尝试从 Rails 中执行此操作不是一个好主意?

更新: 我放弃了试图让它发挥作用。相反,我选择了 ember-cli-cordova 选项 (https://github.com/poetic/ember-cli-cordova)。其中有一些小的绊脚石都很容易解决,现在我开始运行了......

【问题讨论】:

    标签: ruby-on-rails cordova ruby-on-rails-4 ember.js


    【解决方案1】:

    如果您将 environment.js 文件中的 locationType 更改为“hash”,而不是“auto”,您将解决此问题。

    问题是 phonegap 通过诸如 file:///android_assets/www/index.html 之类的 url 访问您的应用程序

    当 locationType 设置为 auto 时,ember 会尝试将 index.html 解析为路由。

    【讨论】:

    • 根据更新中的评论,我实际上已经移至 ember-cli-cordova,但它仍然在模拟器上给我这个错误(但不是当我安装在实际手机上时)。我尝试按照您的建议将位置类型更改为哈希,但不幸的是它没有任何区别....
    • 好的,可能是导致您的问题的另一个因素。我只是通过采取这些步骤解决了这个问题。抱歉,我没办法了。
    猜你喜欢
    • 1970-01-01
    • 2018-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-04
    • 1970-01-01
    • 2016-07-07
    相关资源
    最近更新 更多