簡體   English   中英

如何在Ionic移動應用程序中運行Node.js服務器?

[英]How to run Node.js server in Ionic mobile app?

我正在使用MEAN和離子框架制作應用程序,其中nodejs是連接數據庫的中間件(mongoDb)。 我需要使用node server.js運行nodejs服務器,使用ionic serve運行app。 這是我的server.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...');
})

現在這是我的app.js. 我使用http://localhost:3000來獲取JSON。

 app.controller('CohortController',['$scope','$resource', function($scope,$resource){ var Cohort=$resource('http://localhost:3000/api/cohorts'); Cohort.query(function(results){ $scope.cohorts=results; }); $scope.cohorts=[]; $scope.createCohort= function () { var cohort=new Cohort(); cohort.name=$scope.CohortName; cohort.id=$scope.CohortId; cohort.$save(function(result){ $scope.cohorts.push(result); $scope.CohortName=''; $scope.CohortId=''; }); } }]); 

將轉換為移動應用程序時,如何運行節點服務器? 應用程序將如何使用API​​?

您必須在服務器上運行Node.js應用程序,然后通過它的公共IP訪問(從您的Ionic應用程序)。 因此,您不會使用http://localhost:3000來獲取JSON,而是使用類似http://123.456.789.123:3000

但是,通常情況下,這不是您的方式(使用端口3000)。 你還要做的是將(例如)Nginx放在你的Node.js應用程序前面( 參見這里的例子 ),以便從標准HTTP端口(80)提供api。

所以,基本上,你實際上不能“在Ionic應用程序中運行Node.js服務器” - 你這樣做的方式是運行與Ionic分開的Node.js應用程序並通過標准化API公開其功能(通常這些天REST是什么你想要實現的,然后你通過Ionic(嗯,確切地說,它實際上是Angular的) 資源模塊 “消耗”。

希望這有助於清理一些事情。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM