node.js - 使用 PhoneGap 将 Node JS Web 应用程序转换为移动应用程序

标签 node.js cordova express mobile phonegap

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

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

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

更新

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

最佳答案

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

首先,您必须分离 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));
});

并在您的应用程序中使用具有以下 URL 的 ajax 来使用相同的内容:

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

关于node.js - 使用 PhoneGap 将 Node JS Web 应用程序转换为移动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44560588/

相关文章:

javascript - 如何使用 Sails.js 和 Waterline 更新 MongoDB 子文档中的特定键?

iphone - 链接到 Phonegap 中 AppStore 中我的应用程序

c# - Windows 10 Slite不起作用

javascript - 将路由参数传递给 ExpressJS 中的 Controller

node.js - 如何使用nodejs基于url启用/禁用 session ?

node.js - 使用 Paypal 安全付款

html - 为客户构建静态网站的最佳方式?

node.js - React 客户端获取的 URL 与服务器端请求的 URL 不匹配

node.js - 为什么我会得到之前的选项卡 url?

android - getUserMedia Android Webview Ionic