У меня есть веб-интерфейс реакции на мой блог Wordpress, и он отлично работает, если я запускаю node server.js
.Я могу перезагрузить на любой странице, и она будет работать, как ожидалось.
На моем рабочем сервере, если я запускаю node server.js
, он работает нормально.Если я собираю и запускаю npm run start
, который настроен на запуск next start -p 80
, веб-сайт не работает должным образом.
Вот мой server.js
код:
const compression = require('compression');
const express = require("express");
const next = require("next");
const dev = process.env.NODE_ENV !== "production";
const app = next({ dev: dev });
const handle = app.getRequestHandler();
app
.prepare()
.then(() => {
const server = express();
server.use(compression());
server.use(express.static(__dirname + '/static', { maxAge: 31557600 }));
server.get('/about', (req, res) => {
app.render(req, res, '/about');
});
server.get('/post/:slug', (req, res) => {
const queryParams = { slug: req.params.slug, apiRoute: 'post' };
app.render(req, res, '/post', queryParams);
});
server.get('/page/:slug', (req, res) => {
const queryParams = { slug: req.params.slug, apiRoute: 'page' };
app.render(req, res, '/post', queryParams);
});
server.get('/city/:slug', (req, res) => {
const queryParams = { slug: req.params.slug, taxonomy: 'city' };
app.render(req, res, '/category', queryParams);
});
server.get('/country/:slug', (req, res) => {
const queryParams = { slug: req.params.slug, taxonomy: 'country' };
app.render(req, res, '/category', queryParams);
});
server.get('/_preview/:id/:wpnonce', (req, res) => {
const queryParams = { id: req.params.id, wpnonce: req.params.wpnonce };
app.render(req, res, '/preview', queryParams);
});
server.get("*", (req, res) => {
return handle(req, res);
});
server.listen(process.env.NODE_PORT, err => {
if (err) throw err;
console.log("> Ready on port " + process.env.NODE_PORT);
});
})
.catch(ex => {
console.error(ex.stack);
process.exit(1);
});
Когда сервер работает со следующей, я могу просматривать страницы, и при перезагрузке он работает нормально.Если я попытаюсь загрузить сообщение блога или категорию / город / страну, оно всегда будет 404.
Это проблема с кодом server.js
или проблема на страницах React для / post и / category?