essay-org / essay

personalise blog system
MIT License
951 stars 277 forks source link

添加server/index.js文件后请求会有问题 #39

Closed hzpeng57 closed 5 years ago

hzpeng57 commented 5 years ago
const { Nuxt, Builder } = require('nuxt')
const consola = require('consola')
const bodyParser = require('body-parser')
const cookieParser = require('cookie-parser')
const app = require('express')()
const axios = require('axios')

// Body parser,用来封装 req.body
app.use(bodyParser.json())
app.use(cookieParser())

// 发起 POST /api/login 请求完成用户登录,并添加该用户到 req.session.authUser
app.post('/api/login', function (req, res) {

  axios.post(`${ process.env.BASE_URL }/api/passwordLogin`, req.body).then(data => {
    const token = data.data.data;
    if (token) {
      res.cookie('adminToken', token, {
        maxAge: 60000 * 15
      })
    }
    return res.json(data.data)
  }, err => {
    console.log(err, 'err');
    res.status(500).send(err.message);
  })
})

app.post('/api/logout', function (req, res) {
  delete req.session.authUser
  res.json({ ok: true })
})

let config = require('../nuxt.config.js')
config.dev = !(process.env.NODE_ENV === 'production')

async function start() {
  const nuxt = new Nuxt(config);
  if (config.dev) {
    const builder = new Builder(nuxt)
    await builder.build()
  }

  app.use(nuxt.render)
  app.listen(3000)
  consola.ready({
    message: `Server listening on http://127.0.0.1:3000`,
    badge: true
  })
}

start();

你好这是我新建文件的内容,是根据你的代码写的(我只通过express转发登录、登出请求并保存token) 如果通过这个启动nuxt发现有的请求会失败,通过nuxt命令启动就不会有,请问我这样写哪里有问题吗?

hzpeng57 commented 5 years ago

已经找到问题了,我去掉body-parser就可以了,不知道为什么会影响别的请求