Я схожу с ума по этой проблеме. Я не могу понять, что мне не хватает.
Моя настройка следующая:
- Экспресс-сервер, созданный с помощью Express Generator
- Приложение React, созданное с помощью CRA
Я хотел бы иметь возможность сделать SSR для моих скриптов React.
Структура папок выглядит следующим образом:
src/
bin/
www
routes/
index.js
app.js
.babelrc
client/ (React app files)
src/
App.js
Я запускаю сервер Express, используя следующий скрипт в моем package.json:
nodemon --exec babel-node ./src/bin/www
Я пытаюсь отобразить компонент React в routes/index.js
, выполнив следующее:
import React from 'react'
import { renderToString } from 'react-dom/server'
import App from '../client/src/App';
...
.babelrc
выглядит так:
{
"presets": ["@babel/preset-env", "@babel/preset-react"]
}
А в файле /bin/www
я поставил следующее (вверху):
require("@babel/register")({
presets: ["@babel/preset-react"]
})
...
Но все, что я могу выбрать, это .....
SyntaxError: Unexpected token import
, который указывает на:
/srv/app/customer-server/src/client/src/App.js:1
(function (exports, require, module, __filename, __dirname) { import React, { Component } from 'react';
Что мне здесь не хватает? Я делаю невозможное для такого рода настройки?
Спасибо