我刚刚开始使用Ember和Phonegap,我正在使用Ruby on Rails Ember-Rails gem来使用Rails来进行资产预编译。我可以使用rails s
运行Ember应用程序,一切正常。要进入一个phonegap应用程序,我正在执行rake assets:precompile
命令,然后将指纹css和js文件复制到资产目录,并修改索引/ 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 app目录中。当我使用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文件中的某个地方,但我认为这只是因为它是从文件系统加载而不是从主机切断。 / p>
我也研究过phonegap-rails gem,但看起来它预期在phonegap中运行的命令来自旧版本,不再有效。
我不确定从哪里开始,也许从铁轨上尝试这样做不是一个好主意?
更新: 我放弃了试图让它发挥作用。我改为使用了ember-cli-cordova选项(https://github.com/poetic/ember-cli-cordova)。其中有一些轻微的绊脚石很容易解决,现在我已经开始运作....
答案 0 :(得分:0)
如果将environment.js文件中的locationType更改为“hash”而不是“auto”,则可以解决此问题。
问题在于,phonegap可通过以下网址访问您的应用:例如file:///android_assets/www/index.html
当locationType设置为auto时,ember尝试将index.html解析为路由。