将NodeJ包含在Ionic中

时间:2016-11-18 23:19:22

标签: javascript node.js express ionic-framework

我用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结合使用?

非常感谢。

1 个答案:

答案 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/testhttp://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");
            });
    }