将请求推送到NodeJS服务器以表达

时间:2020-08-31 08:25:29

标签: node.js express

我有一个普通的Node.js服务器,并且正在将对服务器的请求(希望这是正确的词汇)推送到我的快速应用程序中。

server.js

=IF(SUBTOTALS(3,[data]:[data])=0,MIN(INDICE(DESREF([@row index],-1,0),1):DESREF([row index],-1,0))-1,SUBTOTALS(3,[@[data]:[data]]))

createExpressApp.js

require('dotenv').config();
const port = process.env.PORT || 5000;
const logger = require('./logger.js');
const database = require('./database/createDatabase.js')({ logger });
const app = require('./app/createExpressApp.js')({ logger, database });
const server = require('http').createServer();

server
  .on('request', app)
  .on('listening', function () {
    const addr = this.address();
    const bind =
      typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`;
    logger.info(`Listening on ${bind}`);
    console.log(`Server started on ${port}`);
  })
  .on('error', function (error) {
    if (error.syscall !== 'listen') throw error;
    const addr = this.address() || { port };
    const bind =
      typeof addr === 'string' ? `pipe ${addr}` : `port ${addr.port}`;
    switch (error.code) {
      case 'EACCES':
        logger.error(`${bind} requires elevated privileges`);
        process.exit(1);
      case 'EADDRINUSE':
        logger.error(`${bind} is already in use`);
        process.exit(1);
      default:
        throw error;
    }
  })
  .listen(port);

当我请求获取用户时,Postman挂起并指出套接字超时。

我添加了:

const express = require('express');
const bodyParser = require('body-parser');
const expressWinston = require('express-winston');
const router = require('./routes/createRouter.js')();
const errorHandler = require('../middleware/error');
const cookieParser = require('cookie-parser');
module.exports = ({ database, logger }) =>
  express()
    .use(
      expressWinston.logger({
        winstonInstance: logger,
        msg:
          '{{res.statusCode}} {{req.method}} {{req.url}} {{res.responseTime}}ms',
        meta: false,
      })
    )
    .use(bodyParser.urlencoded({ extended: true }))
    .use(bodyParser.json())
    .use(cookieParser)
    .use((req, res, next) => {
      req.base = `${req.protocol}://${req.get('host')}`;
      req.logger = logger;
      req.db = database;
      return next();
    })
    .use(errorHandler)
    // .use(express.static('./public'))
    .use('/api', router)
    .use((error, req, res, next) => {
      logger.error(error, error);
      res.status(error.status || 500).json({ error });
    });

它仍然挂起,这对我来说有点新。我希望根据这篇中型文章https://medium.com/@carlos.illobre/nodejs-express-how-to-organize-your-routes-in-very-big-applications-and-why-controllers-are-evil-e202eea497f4尝试一下。但是,我无法让服务器响应我的请求。

这里的大问题是:该代码有什么问题吗?如果没有,那么我将不得不开始对实际的获取请求进行故障排除。

谢谢!

0 个答案:

没有答案