Node.js - Простой сервер Express с обработчиком GET не работает - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь создать обработчик запросов GET в Express.js следующим образом:

// import files and packages up here

const express = require('./data.json');
var app = express();
var morgan = require ('morgan')
const port = 3000;
console.log(express)

// create your express server below

// add your routes and middleware below

app.get('/', function (req, res, next) {
    res.writeHead(200)
    res.send('USER')
    console.log(express)
})

// export the express application
module.exports = app;

Но это не работает, поэтому, когда я отправляю запрос GET, ничего не происходит.

Что происходит?

1 Ответ

0 голосов
/ 01 декабря 2018

Во-первых, вам даже не требуется express, вам требуется файл JSON, поэтому вам следует изменить эту первую строку на:

const express = require('express');

Затем вам нужно позвонить app.listen, как только вынастройка промежуточного программного обеспечения завершена, что вы, возможно, делаете в другом файле, но стоит упомянуть об этом.

Итак, все вместе с несколькими другими небольшими изменениями:

// Why?
// const express = require('./data.json');

// It should be like this instead:
const express = require('express');

// And if you want to require a JSON file anyway to send it back:
const data = require('./data.json');

// Require morgan:
const morgan = require('morgan')

// Create the express app:
const app = express();

// Use morgan's middleware in your express app:
app.use(morgan('combined'));

// Define the port to run the server at:
const port = 3000;

// Define your GET / route:
app.get('/', (req, res, next) => {
    // Send status code + text message:
    res.status(200).send('USER');

    // Or if you prefer to send JSON data:
    // res.status(200).json(data);
});

// Start listening on that port:
app.listen(port, () => console.log(`App listening on port ${ port }!`));

Есливы запускаете это с node <filename>.js после установки всех зависимостей, вы должны увидеть сообщение вроде App listening on port 3000!, а затем morgan автоматически зарегистрирует сообщение для каждого входящего запроса.

Обратите внимание, что вы можете экспортировать свое приложение вместовызова app.listen(...) в конце файла с module.exports = app, но в этом случае вам нужно импортировать его куда-нибудь еще (возможно, у вас есть файл server.js или что-то в этом роде), а затем вызвать app.listen(...) там.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...