【问题标题】:How to convert node.js application into cordova如何将 node.js 应用程序转换为 cordova
【发布时间】:2014-10-07 07:15:14
【问题描述】:

我们为台式机和平板电脑构建了一个node.js 应用程序。它是完全基于网络的应用程序。现在我计划使用Apache cordovaandroid 中实现与本机应用程序相同的应用程序。

在项目目录下,我们有node_modules,public,....所有客户端文件都在public文件夹中。当我在浏览器中调用 URL 时,我正在从客户端调用 API 来检查用户是否已经登录。像这样,我们正在对我的服务器进行 API 调用。

据我了解,本机应用程序不过是我们将所有客户端文件存储到设备中。每当用户打开应用程序时,都会加载客户端文件,并根据工作流程进行 API 调用。

理论上我理解这么多。

我卡在哪里了:

在桌面应用程序中,我曾经使用/api/web/shared/reject/ 之类的URL 进行API 调用,这里我们不需要提及localhost:8080/api/web/shared/reject/ 之类的服务器地址,所有浏览器都会处理。同样的事情我怎样才能让它在cordova应用程序中工作。

cordova 怎么知道是不是localhost or something else...

关于这个,我用 Goggled 搜索,但没有找到任何教程。

谁能给我建议。

【问题讨论】:

  • Cordova 最终需要一个 WebView,它本身扩展了 Web 浏览器引擎的功能。因此,如果您的应用可以在浏览器上运行,那么它很有可能在未经修改的情况下使用 Cordova 也能正常运行。
  • @Ed_Fernando 我的主要疑问是,cordova 将如何识别我的服务器地址。直接我不能使用localhost:8080/api/web/shared/reject/ 在我的js 文件中进行API 调用。
  • that everything browser will take care - 这是否意味着您可以通过浏览器运行应用程序?如果是这样,您是否可以从客户端浏览器(例如 Android 上的 Chrome/Firefox)运行它?
  • 您也可以查看此链接:stackoverflow.com/questions/5655975/…

标签: javascript android node.js cordova


【解决方案1】:

基本上,是一个概念问题。 Node.js 是一种专门用于后端的技术,并且具有一些用途,例如扩展某些服务/功能等。 当您谈论 localhost:8080 时,您是在谈论您的 node.js 实现应该在服务器中(亚马逊、Azure、您自己的服务器、nodejitsu 等),而公共页面或客户端应该使用的页面将是添加到 phonegap 中,特别是在您的 www 目录中,并且应该为您的服务器(亚马逊、您自己的服务器、nodejitsu 等)更改 localhost:8080 的引用,并且您的 www 目录上的文件可能有引用(通过GETPOST 从服务器检索数据。记住,Crossdomain 问题不会发生在 phonegap 上(可能应该在本地环境中发生)。 而Phonegap是一个用HTML5、jquery、CSS3等相关技术开发前端的框架。 对于您的具体情况,node_modules 也应该安装在服务器中,而不是 phonegap 项目中。

【讨论】:

  • 我只将客户端文件(public/)添加到phonegap。他们没有将node_module 文件夹放入phonegap。如果我使用生产域进行 API 调用,工作正常(http://xxxx.xxxx.xom/usr/api/status)。我用localhost 尝试过的同样的事情它不起作用(http://localhost:3005/usr/api/status)这是问题所在。
  • 粘贴日志错误,并尝试执行curl 以检查连接是否正常(从您的电脑)或通过您的设备使用 ssh 或 curl
猜你喜欢
  • 2018-02-10
  • 1970-01-01
  • 1970-01-01
  • 2014-11-15
  • 2017-06-06
  • 2020-02-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多