之前已经用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/’);
运行后,服务器端完全没反应啊?哪位大侠给看看
我现在就是用的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负责路由,这算分开么?如果不算,怎么可以分开?有什么参考资料么?谢谢
@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%20Command-Line%20Interface build 过程中有什么错误,看看命令行里的报错 一一解决就行了 一般是sdk 、ant …没有装可没有配