Я создаю свое первое публичное приложение 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);
...
. / Routs / 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