Javascript 将nodej包含到Ionic中
我用Ionic构建了一个混合应用程序。 目前我使用PHP和MySQL作为后端。 正如我告诉自己的那样,这是一种非常古老的风格,新的方式是使用expressJS和MongoDB的NodeJS。 不幸的是,关于如何构建一个MEAN应用程序(MongoDB、ExpressJS、AngularJS和NodeJs)有成千上万的教程。 这对我帮助不大,因为我不知道如何将NodeJS集成到我现有的Ionic应用程序中。 我只能通过将POST请求更改为新的NodeJS服务器而不是PHP脚本来连接它们吗 我看到了一些很酷的方法,其中NodeJS的路由直接与应用程序连接。 这怎么可能 例如,如果我导航到www.testapp.com/testJavascript 将nodej包含到Ionic中,javascript,node.js,express,ionic-framework,Javascript,Node.js,Express,Ionic Framework,我用Ionic构建了一个混合应用程序。 目前我使用PHP和MySQL作为后端。 正如我告诉自己的那样,这是一种非常古老的风格,新的方式是使用expressJS和MongoDB的NodeJS。 不幸的是,关于如何构建一个MEAN应用程序(MongoDB、ExpressJS、AngularJS和NodeJs)有成千上万的教程。 这对我帮助不大,因为我不知道如何将NodeJS集成到我现有的Ionic应用程序中。 我只能通过将POST请求更改为新的NodeJS服务器而不是PHP脚本来连接它们吗 我看到了
app.get('/test', function (req, res) {
console.log('Hello World!')
})
我想举个例子。
这怎么可能与离子液体相结合呢
非常感谢。因为您可以使用它(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(),那么使用这个
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.)直接在web浏览器中测试API或(加速API工作流程。更快地构建、测试和记录API)
访问http://localhost:3000/test
或http://localhost:3000/partners
5.)在爱奥尼亚应用程序中使用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");
});
}
我相信您可以执行该操作,只需作为RESTAPI调用即可。因此,您可以保持nodeJS实例作为后端运行,并且ionic可以访问该实例。非常感谢您提供了非常详细的答案。我只剩下一个问题了。我如何将应用程序与NodeJS服务器连接起来,以便假设用户正在与/partners进行nagivgating,服务器将自动执行appropiate功能。。。你知道我的意思吗?我是否必须在运行服务器的同一端口上执行应用程序才能将它们连接起来?@Anokrize每个URL如下
http://localhost:3000/partners
是一种API,可以在从网站到混合移动应用程序的任何地方使用。生产中使用的API需要在web服务器上(pm2 start server.js
),例如http://192.168.0.111:3000/partners
然后每个人都可以使用它。服务器和应用程序是完全独立的,唯一的连接方式是通过来自Ionic控制器的GET、PUT、POST和DELETE请求。运行时,服务器将通过$http.get
,$http.put
,$http.post
,$http.delete
不断侦听您的应用程序请求。