Узел Cra sh на AWS CentOS 7 при публикации json - PullRequest
0 голосов
/ 11 апреля 2020

У меня есть очень простое приложение, с которым мы работаем уже более года, и с различными вариантами Linux и windows. Единственное отличие состоит в том, что я развернул окно на AWS, которое использует CentOS версии 7.7.1908 с Пн go 4.2.5 и Узел 12.16.0 . В настоящее время я использую точно такой же код на Windows 10 и CentOS 8. Я также запускаю его на Ubuntu. Никаких проблем.

В поле AWS я могу запустить Mon go (чтение и запись) и выполнить файл узла. Итак, я знаю, что службы работают.

НО, от Почтальона, когда я достиг конечной точки с целью записать JSON в БД. Сбой сразу, когда выполняется user_find. Я отследил это до этого кода ниже.

Обнаружено, где он не работает: я удалил весь свой код, просто хочу записать его на консоль, чтобы посмотреть, достигнет ли он этого места.

контроллер. пользователи. js

const User      = require('../models/user');
const mongoose  = require('mongoose');
const bcrypt    = require('bcrypt'); 

console.log('Controller Read');   //This displays in the console when the app is launched. It also proves the routing is correct as well.
exports.user_find = (req, res, next) => {
        console.log('User Find Activated');   //When I try to send data the app fails and never gets this message.
    }

Я думал, что, возможно, версия моих модулей борется. Я понизил некоторые, но это не имело значения. Это то, что у меня сейчас есть.

"dependencies": {
        "bcrypt": "^4.0.1",
        "body-parser": "^1.19.0",
        "dotenv": "^8.2.0",
        "express": "^4.17.1",
        "mongoose": "^5.9.7",
        "morgan": "^1.10.0",
        "nodemon": "^2.0.3"
    }

** Вот код моего приложения.

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

// Application Routes
    const customerRoutes  = require('./api/routes/customers');
    const orderRoutes     = require('./api/routes/orders');
    const userRoutes      = require('./api/routes/users');

mongoose.connect('mongodb://127.0.0.1:27017', { dbName: 'myDB', useNewUrlParser: true, useUnifiedTopology: true }).
    then(() => console.log('db Connected')).
    catch(err => console.log('Caught', err.stack));

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

//This piece of code deals with CORS errors
    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');
            return res.status(200).json({});
        }
        next();
    });

//Routes to handle requests
    app.use('/customers', customerRoutes);
    app.use('/orders', orderRoutes);
    app.use('/users', userRoutes);

    app.use((req, res, next) => {
        const error = new Error( 'App Crash' );
        error.status = 404;
        next(error);
    });

    app.use((error, req, res, next) => {
        res.status(error.status || 500);
        res.json({error: {message: error.message}
        });
    });


module.exports = app;

В mongod.conf я также закомментировал BindIP. Это открыто для всего. Когда приложение запускается, я подключаю БД, так что я знаю, что это работает.

1 Ответ

0 голосов
/ 12 апреля 2020

Это то, что случается, когда вы программируете всю ночь, я выхожу из формы, ища помощь Вздремнуть ... и вуаля! Проблема состояла в том, что у меня был тип O в URL в почтальоне. Ничего плохого в коде.

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