我用Ionic构建了一个混合应用程序。 目前我使用PHP和MySQL作为后端。 正如我告诉自己这是相当古老的风格,新方法是NodeJS与expressJS和MongoDB。 不幸的是,有成千上万的关于如何构建MEAN应用程序的教程(MongoDB,ExpressJS,AngularJS和NodeJs)。 这对我帮助不大,因为我不知道如何将NodeJS集成到我现有的Ionic应用程序中。 我可以通过将POST请求更改为新的NodeJS服务器而不是PHP脚本的那些来连接它们吗?
我看到了一些很酷的方式,NodeJS的路由直接与应用程序连接。 怎么可能?
例如,如果我导航到www.testapp.com/test
app.get('/test', function (req, res) {
console.log('Hello World!')
})
我想以此为例。 如何与Ionic结合使用?
非常感谢。
答案 0 :(得分:2)
为此,您可以使用ExpressJS(Node.js的快速,无条件,极简主义的Web框架)。
1。)安装Express
$ npm install express --save
2。)创建简单的API。把它放在 server.js
中var express = require('express')
var app = express()
app.get('/test', function (req, res) {
res.send('Hello World!')
})
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
如果您使用MySQL(https://www.npmjs.com/package/mysql),请使用此
var express = require('express')
var mysql = require('mysql')
var app = express()
app.get('/', function (req, res) {
res.send('Hello World!')
})
var pool = mysql.createPool({
host: 'localhost',
user: '',
password: '',
database: ''
});
app.listen(3000, function () {
console.log('Example app listening on port 3000!')
})
app.get('/partners', function(req, res,next){
pool.getConnection(function(err, connection) {
if (err) {
console.error("An error occurred: " + err);
}
var query = "SELECT * FROM partners ORDER BY idpartner DESC";
var table = ["tableName"];
query = mysql.format(query,table);
connection.query(query,function(err,rows){
if (err) {
return next(err);
} else {
res.json({
success: true,
partners : rows
});
}
connection.release();
});
});
});
3.。)使用CMD或Git Bash运行API。
$ node server.js
4.。)直接在网络浏览器中测试API或Postman(增加您的API工作流程。更快地构建,测试和记录您的API。)
访问http://localhost:3000/test
或http://localhost:3000/partners
5.。)在Ionic app
中使用API $scope.getPartners = function() {
$http.get("http://localhost:3000/partners", { params: { "key1": "value1", "key2": "value2" } })
.success(function(response) {
$scope.firstname = response.firstname;
$scope.lastname = response.lastname;
})
.error(function(response) {
alert("ERROR");
});
}