在Nuxt构建api之后返回404

时间:2018-03-22 22:45:44

标签: vue.js vuejs2 koa nuxt.js koa2

我遇到了这个奇怪的问题,我非常需要你的帮助。在开发中,我的代码工作得非常好,但在完成nuxt构建后,所有apis都返回404错误。请帮忙

当我构建api并运行它时,它可以工作。在开发api和nuxt两者都有效,但是构建nuxt和api是行不通的。

以下是我的配置

服务器配置

import convert from 'koa-convert';
import cors from 'kcors';
import bodyParser from 'koa-body';
import session from 'koa-session';
import helmet from 'koa-helmet';
import config from 'config';
import serve from 'koa-static';
import mount from 'koa-mount';

import { cModules, cMiddleware } from '../app';
import { catchErr, statusMessage } from './errorConfig';
import nuxtConfig from './nuxtConfig';

function baseConfig(app, io) {
  app.keys = config.get('secret');
  app.proxy = true;

  app.use(mount('/static', serve(config.get('paths.static'))));

  app.use(convert.compose(
    catchErr,
    cors({
      credentials: true,
      origin: true
    }),
    bodyParser({
      multipart: true,
      formLimit: '200mb'
    }),
    session({
      maxAge: 21600000
    }, app),
    helmet(),
    statusMessage
  ));

  cModules(app, io);
  app.use(cMiddleware());

  if (config.get('nuxtBuild')) {
    nuxtConfig(app);
  }
}

export default baseConfig;

和我的Nuxt

import { Nuxt, Builder } from 'nuxt';
import koaConnect from 'koa-connect';
import isDev from 'isdev';
import config from '../../../nuxt.config';

async function nuxtConfig(app) {
  const nuxt = new Nuxt(config);

  if (isDev) {
    await new Builder(nuxt).build();
  }
  const nuxtRender = koaConnect(nuxt.render);

  app.use(async (ctx, next) => {
    await next();
    ctx.status = 200;
    ctx.req.session = ctx.session;
    await nuxtRender(ctx);
  });
}

export default nuxtConfig;

0 个答案:

没有答案