The url server will append the path to navigate the modules. I get an error when nextjs custom server appends prefix: /product-ui I don't understand what's wrong with my custom server file about router mapping
I tried to configure the URL conversion but it still doesn't work
const express = require('express');
require('dotenv').config();
const next = require('next');
const { parse } = require('url')
const orderRoute = require('./routes/order.route');
const promotionRoute = require('./routes/promotion.route');
const port = parseInt(process.env.PORT, 10) || 3000;
const dev = process.env.NODE_ENV !== 'production';
const nextApp = next({ dev })
const handle = nextApp.getRequestHandler()
const VERSION_API = 'v1';
const server = express();
nextApp.prepare().then(() => {
server.use(express.json());
server.use(`/${VERSION_API}/api/order`, orderRoute);
server.use(`/${VERSION_API}/api/promotion`, promotionRoute);
server.get('/order/:orderId', (req, res) => {
const { orderId } = req.params;
const actualPage = `/order/${orderId}`;
const queryParams = req.query;
return nextApp.render(req, res, actualPage, queryParams);
})
server.get('*', (req, res) => {
return handle(req, res)
})
express().use("/product-ui", server).listen(port, err => {
if (err) throw err
console.log(`> Ready on http://localhost:${port}`)
})
})