nodejs+phonegap如何开发Hybrid应用程序
发布于 10 年前 作者 perny 11014 次浏览 最后一次编辑是 8 年前

之前已经用nodejs开发好了一个移动浏览器应用,使用了mongoose,express等模块,现在想用phonegap包装成一个Hybrid app,已经使用npm 安装好phonegap,并实现了一个HelloWorld的app,请问我怎样把之前开发好的移动浏览器应用程序移植到phonegap中?求牛人们给个指导,谢谢! 客户端代码: $.ajax({ type:“get”, url:“http://127.0.0.1:18080/”, data:{‘category’:param.substring(1),‘p’:obj.pageIndex}, dataType:‘json’, beforeSend:$.ui.showMask(), error: function(jqXHR, textStatus, errorThrown) { alert('error ’ + textStatus + " " + errorThrown); }, success:function(data){ console.log(data); } });

服务器端代码: var http = require(‘http’); var url = require(“url”); http.createServer(function (req, res) { var params = url.parse(req.url, true).query; console.log(params); }).listen(18080); console.log(‘Server running on port http://127.0.0.1:18080/’);

运行后,服务器端完全没反应啊?哪位大侠给看看

15 回复

node只是做后台吧?phonegap,或者说cordova,跟它似乎无关……我也是个node新手

有钱还是做native吧,phonegap是坑,而且是烂坑。

我现在就是用的Ionic做app,cordova+angularjs,用npm进行管理。之前还特意看了点java写android app,但是写界面真心不是我的强项,调试起来也非常费劲,后期维护也不是那么容易,还不如索性写hybrid app,编写调试维护都很顺手,性能也还不错

使用了mongoose,express等模块??? 看样子,你的项目 UI层和数据层没有分开吧, 如果分开了的话,把静态部分 拷到 phonegap 工程中的 www 文件夹下,nodejs 只做数据服务; 如果没有分开,可以把 phonegap www/index.html 里写一个 跳转,跳转到你的 nodejs express 地址;

@feige05 谢谢您的回答,我的项目是一个单页面webapp,全部使用ajax提交数据,其中mongoose负责操作数据库,express负责路由,这算分开么?如果不算,怎么可以分开?有什么参考资料么?谢谢

@nihgwu 应用场景不一样,ionic确实不错,我一直也在用。 效果也挺好,但是始终还是不如native 的感觉好

@jeremy16601 hybrid 肯定比不上 native了,我觉得够用就行了

@alaaf 简单的还好

@nihgwu @jeremy16601 谢谢您的回复给看看行不,本人还是没解决

@perny 你这个属于局域网调试的问题吧,如果是在手机上做测试,手机认识127.0.0.1么。。

@nihgwu 我是在模拟器中运行的也不行

@perny 没试过,我都是调取的公网的数据,或者你换192.168.x.x 试试 还有你这样写ajax调用不觉得麻烦么。。 $.getJSON('').then(function(){}).error(function(){})

@perny 这样就只需要把 单页面webapp 拷到 phonegap /www/ 下; 如果不知道怎么打包,就到https://build.phonegap.com/ Adobe 在线Build,支持 github上的工程直接打包。里面文档很详细 phonegap 本地打包需要安装的环境很多,看看官方文档一步步做就可以的 http://cordova.apache.org/docs/en/3.5.0/guide_cli_index.md.html#The Command-Line Interface build 过程中有什么错误,看看命令行里的报错 一一解决就行了 一般是sdk 、ant …没有装可没有配

@nihgwu 真让你说对了,改成公网ip就可以了,还有phonegap没有跨域访问的限制,ajax返回什么格式的数据都可以,非常感谢

回到顶部