【问题标题】:Convert Node JS web application to mobile application using PhoneGap使用 PhoneGap 将 Node JS Web 应用程序转换为移动应用程序
【发布时间】:2017-06-15 06:53:03
【问题描述】:

我使用 HTML/CSS 和 Node JS 开发了 Web 应用程序。下一个任务是使用 Phonegap 将此应用程序转换为移动应用程序。即使我的应用程序在 Web 上运行良好,但节点服务器在转换后无法在移动应用程序中运行。我想这是因为两个原因:

  1. server.js 和 app.js 文件位于根文件夹中,而不是位于 www>js 文件夹下。因此,phonegap 无法转换这些文件并在移动应用中使用。
  2. 我需要使用“npm start”命令从命令提示符启动 Web 应用程序。我无法以类似的方式运行移动应用程序。

我没有 NodeJS 或移动应用程序开发经验。请提供一些我可以遵循的解决方案或链接来完成任务。

更新

@Nisar 提供的解决方案可能适用于我的情况。但是我需要访问其他js文件中编写的方法,而不是app.js的方法。请提出一种实现相同目标的方法。

【问题讨论】:

  • 您是否使用 Node JS 创建 API 并使用 Ajax 调用这些服务?
  • 不,我没有使用 Ajax @Nisar

标签: node.js cordova express mobile phonegap


【解决方案1】:

您无法将其直接转换为应用程序。

首先,您必须将 UI(前端)和服务(后端)分开。在前端,您必须通过 AJAX Api 请求,服务器将以 JSON 响应。

要在 Node JS 中创建服务,请使用以下 GET 和 POST 示例:

var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var http = require('http').Server(app);

app.use(bodyParser({limit: '50mb'}));


http.listen(1337, function(){
  console.log('listening on *:1337');
});

app.get('/call', function(req, res){
   var end = "{\"result\": \"success\"}";
   res.end(end); 
});

app.post('/getUserData', function(req, res){
    response = {
      first_name:req.body.first_name,
      last_name:req.body.last_name
   };
   res.end(JSON.stringify(response));
});

并在您的应用程序中使用相同的 ajax 并使用以下 URL:

获取:http://localhost:1337/call 发帖:http://localhost:1337/getUserData

【讨论】:

  • 非常感谢您的回复。我明白你的建议。但我需要访问其他 js 文件中的方法,而不是 app.js 的方法。如何调用例如abc.js文件的方法?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2022-01-05
  • 2016-12-13
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
  • 1970-01-01
  • 2023-03-19
相关资源
最近更新 更多