2个不同服务器Express.js和节点js

时间:2016-09-26 09:52:25

标签: javascript node.js express

我有 Experss.js 框架和 Node.js ,并在服务器端向MS SQL数据库发出请求。

我想从服务器获取数据(以JSON或数组形式)并发送到Cliend端。

我不明白如何在客户端为另一台服务器编写路由器。

server.js

npm start
http://localhost:5000/

代码:

var sql = require("mssql");
var express = require('express');
var app = express();
var http = require('http')
var query = "SELECT AVG([sta_waittime]) AS Spalte FROM [DialogMaster_TEST].[dwh].[anruf_stat] WHERE CONVERT(DATE,sta_timestamp) = CONVERT(DATE,CONVERT(DATE,'2016-08-01')) ";

app.get('/', function (req, res) {
  sql.connect("mssql://log:pas@db/TEST").then(function() {
    // Query

    new sql.Request().query(query).then(function(recordset) {
        var a = [];
        a.push(recordset[0].Spalte);
        res.send(a);   // **number**
    }).catch(function(err) {
        // ... query error checks
    });


    }).catch(function(err) {
        // ... connect error checks
    });

});

var server = app.listen(5000, function () {
    console.log('Server is running..');
});

浏览器中的服务器站点:

Server site in Browser

我的app.js文件。

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');

var routes = require('./routes/index');
var users = require('./routes/users');

var app = express();

// view engine setup
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'jade');

// uncomment after placing your favicon in /public
//app.use(favicon(path.join(__dirname, 'public', 'favicon.ico')));
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use(cookieParser());
app.use(express.static(path.join(__dirname, 'public')));

app.use('/', routes);
app.use('/users', users);

//app.get('/');

// catch 404 and forward to error handler
app.use(function(req, res, next) {
  var err = new Error('Not Found');
  err.status = 404;
  next(err);
});

// error handlers

// development error handler
// will print stacktrace
if (app.get('env') === 'development') {
  app.use(function(err, req, res, next) {
    res.status(err.status || 500);
    res.render('error', {
      message: err.message,
      error: err
    });
  });
}

// production error handler
// no stacktraces leaked to user
app.use(function(err, req, res, next) {
  res.status(err.status || 500);
  res.render('error', {
    message: err.message,
    error: {}
  });
});


module.exports = app;

1 个答案:

答案 0 :(得分:-1)

您只需要1台服务器(REST服务器)。只需使用node.js服务器。

阅读: REST