Я пробую серверный рендеринг с помощью React и React Router.Я настроил babel для корректного вывода jsx на стороне клиента, но сервер доставляет мне проблемы.Кажется, он не распознает мой JSX, независимо от того, что я делаю.
Мой серверный код выглядит следующим образом:
require("@babel/register")({
presets: ["@babel/preset-react", "@babel/preset-env"]
});
const React = require("react");
const StaticRouter = require("react-router-dom/StaticRouter");
const ReactDOMServer = require("react-dom/server");
app.get("/*", (req, res) => {
const context = {};
const app = ReactDOMServer.renderToString(
<StaticRouter location={req.url} context={context}>
<App />
</StaticRouter>
);
})
Я настроил babel в моем package.json как:
"babel": {
"presets": [
"@babel/preset-react",
"@babel/preset-env"
]
}
И перечислим все зависимости.Ошибка выглядит следующим образом:
<StaticRouter location={req.url} context={context}>
^
SyntaxError: Unexpected token <