при запуске узла с экспрессом выдает ошибку 'not GET' в браузере - PullRequest
0 голосов
/ 11 июня 2019

Я пытаюсь создать одностраничное приложение, и в бэкэнде у меня уже есть код, но когда я хочу проверить с почтальоном моего api rest и запустить сервер, я получаю ошибку

'use strict';

require('dotenv').config();
const bodyParser = require('body-parser');
const cors = require('cors');
const express = require('express');
const routes = require('./webserver/routes');
const mysqlPool = require('./ddbb/mysql-pool');


process.on("uncaughtException", err => {
    console.error("unexpected exception", err.message, err);
  });  

  process.on("unhandledRejection", err => {  
    console.error("unexpected error", err.message, err);  
  });

const app = express();
app.use(bodyParser.json());

app.use((err, req, res, next) => {
    console.error(err);
    res.status(400).send({
        error: `Body parser: ${err.message}`,
    });
});

/**

 * Enable CORS 

 */

app.use((req, res, next) => {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'Authorization, X-API-KEY, Origin, X-Requested-With, Content-Type, Accept, Access-Control-Allow-Request-Method');
    res.header('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, DELETE');
    res.header('Allow', 'GET, POST, OPTIONS, PUT, DELETE');
    next();
});

app.use('/api', routes.accountRouter);
app.use('/api', routes.userRouter);

app.use((err, req, res, next) => {
    const { name: errorName } = err;  
    if (errorName === "AccountNotActivatedError") {  
      return res.status(403).send({  
        message: err.message  
      });  
    }  
    return res.status(500).send({  
      error: err.message  
    });  
  });

async function init() {
    try {
        await mysqlPool.connect();
    } catch(e) {
        console.error(e);
        process.exit(1);
    }
    const port = process.env.PORT;
    app.listen(port, () => {
        console.log(`Server running and listening on port ${port}`);
        });
}

init();

в терминале Visual Studio сообщает, что сервер прослушивает и работает на назначенном порте, но в браузере выдает ошибку «Невозможно получить», и почтальон не соединяет меня

1 Ответ

0 голосов
/ 11 июня 2019

У вас есть маршруты с префиксом / api, но не для root ('/'). Попробуйте использовать:

app.get('/', function (req, res, next) {  
   //your code here
   res.send(200);
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...