Экспресс-маршруты node.js не работают на удаленном сервере - PullRequest
0 голосов
/ 27 ноября 2018

Я создаю REST API с помощью Node.js и Express. Приложение работает нормально, включая маршруты и другие функции на локальном компьютере, но при загрузке на сервер Windows маршруты не работают должным образом, я смог увидеть Hello World, напечатанный наНапример, с моей домашней страницы: - www.abcd.com/, но когда используются маршруты, например: - www.abcd.com/users/ это дает 404 - File or directory not found.

Вот мой код

server.js

const http = require('http')
const app = require('./app')

const server = http.createServer(app);

server.listen(process.env.PORT, () => {
    console.log("Server Started");
});

app.js

const express = require('express');
const morgan = require('morgan');
const bodyParser = require('body-parser');

const app = express();

app.use(morgan('dev'));
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());

app.use((req, res, next) => {
    res.header(
        'Access-Control-Allow-Origin',
        '*'
    );
    res.header(
        "Access-Control-Allow-Headers",
        "Origin, X-Requested-with, Content-Type, Accept, Authorization"
    );
    if (req.method === 'OPTIONS') {
        res.header('Access-Control-Allow-Methods', 'PUT, POST, PATCH, DELETE, GET');
        return res.status(200).json({});
    }
    next();
});

const users_routes = require('./api/routes/users.routes');
const message_routes = require('./api/routes/message.routes');
const group_routes = require('./api/routes/group.routes');
const key_routes = require('./api/routes/key.routes');

console.log(users_routes.toString());

app.use('users', users_routes);
app.use('message', message_routes);
app.use('group', group_routes);
app.use('key', key_routes);

app.use('/', (req, res, next) => {
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<H1>Hello World!</H1>');
});

module.exports = app;

user.routes.js

const express = require('express');
const router = express.Router();

router.get('/', (req, res, next) => {
    Console.log("Hello there");
    res.writeHead(200, { 'Content-Type': 'text/html' });
    res.end('<H1>Hello World!</H1>');
});

module.exports = router;

Файл журнала после запуска приложения

Server Started

Печатается function при использовании typeof(user_routes)

...