在Heroku中使用Koa路线会返回404错误

时间:2019-05-20 16:06:21

标签: heroku next.js koa

我正在构建我的第一个Shopify公共应用程序,并使用其Next.js和React示例开始使用。我需要创建一个API,并且无法使用Next.js进行路由,因此我添加了Koa和Koa-Routes进行映射。

它在本地运行良好,我可以使用API​​从数据库中发布信息并获取信息。当我在Heroku上部署它时,这些Koa路由不再起作用,并返回404错误。

server.js(仅相关位)

const Koa = require('koa');
const Router = require('koa-router');
var bodyParser = require('koa-bodyparser');
const next = require('next');
const routes = require('./routes')

const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });

app.prepare().then(() => {
    const server = new Koa();
    const router = new Router();
    server.use(bodyParser());
    server.use(session(server));
    server.keys = [SHOPIFY_API_SECRET_KEY];

    require('./routes/api')(router);

    ...

./ routes / api

const SettingsControllers = require('../controller/settings');

module.exports = function(router){

    router.get('/api/settings/:shop', SettingsControllers.find);
    router.put('/api/settings', SettingsControllers.save);

    return router

}

这是我通过API调用得到的消息

heroku[router]: at=info method=GET path="/api/settings/13msdev.myshopify.com" host=app.website.com request_id=12345 fwd="12.12.12.12.12" dyno=web.1 connect=0ms service=3ms status=404 bytes=2020 protocol=https

0 个答案:

没有答案