如何在Ionic移动应用程序中运行Node.js服务器?

时间:2016-01-03 17:43:29

标签: node.js mongodb cordova ionic-framework

我正在使用MEAN和离子框架制作应用程序,其中nodejs是连接数据库的中间件(mongoDb)。我需要使用git clone 'git@github.com:bekicot/assignment_rss.git bekicot/assignment_rss和使用node server.js的应用运行nodejs服务器。这是我的server.js。

ionic serve

现在这是我的app.js.我使用var express = require('express'), app = express(), bodyParser = require('body-parser'), mongoose = require('mongoose'), CohortController =require('./www/server/controller/CohortController'); mongoose.connect('mongodb://localhost:27017/persistent'); app.use(bodyParser()); app.get('/api/cohorts',CohortController.list); app.post('/api/cohorts',CohortController.create); app.listen(3000,function(){ console.log('Listening...'); }) 来获取JSON。

http://localhost:3000

将转换为移动应用程序时,如何运行节点服务器?应用程序将如何使用API​​?

1 个答案:

答案 0 :(得分:4)

您必须在服务器上运行Node.js应用程序,然后通过它的公共IP访问(从您的Ionic应用程序)。因此,您不会使用http://localhost:3000来获取JSON,而是使用类似http://123.456.789.123:3000的内容。

但是,通常情况下,这不是您的方式(使用端口3000)。你还要做的是将(例如)Nginx放在你的Node.js应用程序(see an example here)前面,以便从标准HTTP端口(80)提供api。

所以,基本上,你实际上不能“在Ionic应用程序中运行Node.js服务器” - 你这样做的方式是运行与Ionic分开的Node.js应用程序并通过标准化API公开其功能(通常这些天REST是你想要达到的目标)然后你通过Ionic“消耗”(好吧,确切地说,它实际上是Angular的)$resource module

希望这有助于澄清一些事情。