将 Meteor Cordova 构建的应用程序连接到本地服务器和数据库

Posted

技术标签:

【中文标题】将 Meteor Cordova 构建的应用程序连接到本地服务器和数据库【英文标题】:Connect Meteor Cordova built app to local server and Database 【发布时间】:2021-12-08 01:37:20 【问题描述】:

我正在尝试我的第一个 Meteor Cordova 应用程序。我的 Meteor 应用程序是独立的并且运行良好。然后我添加了 Cordova 部分。当我使用

运行应用程序时

流星运行安卓设备

在通过 USB 电缆连接的移动设备上一切正常,我可以访问在端口 3001 上运行的本地数据库。 当我尝试使用

构建应用程序时,这就是我的问题所在

meteor 构建构建文件夹 --server=http://127.0.0.1:3000

因为这是我使用流星运行时启动流星项目的地方,所以我的应用似乎无法连接。

我有密码 Meteor.startup(function () console.log(__meteor_runtime_config__.ROOT_URL); ); 在应用程序启动时,它确实说它正在http://127.0.0.1:3000 上运行,但之后我不断收到错误 GET http://127.0.0.1:3000/sockjs/info?cb=h_i9p49ua9 net::ERR_CONNECTION_REFUSED

我一直在寻找文档,但找不到任何分步说明来构建一个我可以安装在我的 android 设备上并连接到我的电脑上的本地 Meteor 实例以及数据库的 apk。

只是添加到我的 config.xml 文件中,我得到了这个

【问题讨论】:

【参考方案1】:

我认为问题在于您的应用程序将尝试连接到 127.0.0.1,但那是 localhost——它是手机本身!如果您只想在本地尝试,请获取服务器的本地 IP(other 不是 localhost/127.0.0.1)。对于某些N,这通常是192.168.1.N。在 linux 下,您可以使用 ip a 查看所有设备的所有 IP 地址。为您的以太网或 wifi 连接找到一个(不是 lo)。使用该IP。您的 Android 设备(假设它位于同一网络上)将能够解决该问题并连接到您的服务器。

【讨论】:

感谢您的回复。我确实尝试过这样做。然后我遇到了两个问题。 1. 我的流星应用程序在本地主机上运行,​​但如果我去我的 ip:3000 它没有在那里运行,那么我的手机如何知道本地服务器在哪里,或者它是否暗示它只会知道? 2. 当我用我的 ip 构建应用程序时,我在 config.xml 文件“ 感谢您的建议适用于手机,然后适用于服务器或流星端,我刚刚运行了 meteor run --mobile-server 192.168.1.N 。

以上是关于将 Meteor Cordova 构建的应用程序连接到本地服务器和数据库的主要内容,如果未能解决你的问题,请参考以下文章

Meteor + Cordova + iOS:不允许上传文件

Meteor cordova ios项目pch错误

在 iPhone 6 上的 Meteor Cordova 应用程序中进行缩放

Meteor + Onsen UI + Monaca 云构建

如何将流星连接到现有后端?

如何在 Cordova 项目中嵌入 Meteor 视图?