Экспресс приложение не позволит мне проверить, что внутри - PullRequest
0 голосов
/ 19 декабря 2018

Я знаю, что моя проблема может показаться не очень конкретной, но у меня возникают проблемы с описанием происходящего, потому что я не понимаю этого :( Поэтому я написал небольшое экспресс-приложение с ssr (для реагирования) и аутентификацией jwt.SSR часть работает хорошо, но остальное дерьмо .....

import 'babel-polyfill';
import express from 'express';
import bodyParser from 'body-parser';
import logger from 'morgan';
import authRouter from './auth/authRouter';

const app = express();

app.use(express.static('public'));
app.use(logger('dev'));
app.use(bodyParser.json({ type: '*/*' }));
app.use(bodyParser.urlencoded({ extended: false }));

//a lot of irrelevant ssr code

authRouter(app);

app.listen(3000, function(err) {
  if (err) {
    console.log(err);
  }
  console.log('main server on port 3000');
});

Это мой основной файл сервера. Моя первая проблема - я не вижу ЛЮБОЙ console.logs из моих файлов.мой терминал. Вот почему я не вижу, как мои запросы выглядят в моем приложении. Я тестирую его с помощью почтальона: postman

И это authRouterЯ использую выше в файле основного сервера:

import express from 'express';
import { signup, signin } from '../controllers/authentication';
import { jwtLogin, localLogin } from '../services/passport';
import passport from 'passport';

passport.use(jwtLogin);
passport.use(localLogin);
//if user is auth'd do not create session for him
const requireAuth = passport.authenticate('jwt', { session: false });
const requireSignin = passport.authenticate('local', { session: false });

const authRouter = function(app) {
  app.get('/auth', requireAuth, function(req, res) {
    res.send({ hi: 'there' });
  });
  app.post('/auth/signin', requireSignin, signin); // irrelevant right now
  app.post('/auth/signup', signup);
};
export default authRouter;

И это функция регистрации, которую я использую в маршрутизаторе:

const signup = (req, res, next) => {
  console.log('reqqqqqqq', req);
  const { email, password, passwordCheck } = req.body; //code crashes here

  //some code I deleted for everyones convenience
};

Каждый запрос, который я делаю, мое приложение вылетает, потому что req.bodyЯ не могу войти в req, потому что я не вижу никаких журналов. Я также пытался отправить обратно строковую версию моего тела запроса, но каждый раз, когда я получаю «TypeError: Преобразование циклической структуры в JSON». Я буду раддобавьте любую информацию, которая вам может понадобитьсяd

РЕДАКТИРОВАТЬ: Я собираюсь проверить это позже дома, но теперь я думаю, что с ssr-частью моего приложения что-то не так, потому что я даже не вижу этого 'mainсервер на порте 3000 'log ..... В то же время сервер отвечает правильным html, js-файлами и маршрутизацией работает хорошо, так что ..... в любом случае я собираюсь посмотреть это позже

Ответы [ 2 ]

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

Я решил это ..... неожиданно проблема лежала в моем файле package.json.Мой стартовый скрипт выглядел так:

"scripts": {
    "start": "nodemon build/server.bundle.js | nodemon build/api.bundle.js",
    ...
  }

И из-за этого у меня были эти странные ошибки.Только файл api.bundle.js работал правильно ...... В любом случае спасибо за вашу помощь;)

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

Попробуйте использовать util.inspect с узла:

const util = require('util');

// usage in your code
const signup = (req, res, next) => {
  console.log(util.inspect(req, { showHidden: true, depth: null }));
  const { email, password, passwordCheck } = req.body;
  ...
};    
...