Я разрабатываю приложение с Flask Backend с фронтом ReactJS. Приложение ReactJS было разработано и связано с webpack.
Все отлично работает с рендерингом на стороне клиента, который связан с webpack
.
Сейчас я пытаюсь добавить рендеринг на стороне сервера с помощью python-react.
Но проблема в том, что я должен поделиться некоторыми переменными с моим приложением ReactJS через Jinja2 template
в базовом шаблоне index.html
, который имеет reactjs
узел корневого компонента <div id='react-node'></div>
.
Мне пришлось отправить свои routes
и config
в мое приложение через шаблон jinja2
, как показано ниже,
//index.html
<!doctype html>
<html>
...
...
<script type='text/javascript'>
var STATIC_IMAGE_ROOT = "{{ url_for('static', filename='img/') }}";
var ROUTES = { ... };
...
</script>
</html>
Все вышеуказанные переменные js устанавливаются в глобальный объект window
.
Но когда я пытаюсь отобразить компонент в python, он выдает исключение для объекта window
ReactRenderingError: react: ReferenceError: window is not defined
.
Каков наилучший способ решить эту проблему?
React.renderToString
(илиReact.renderToStaticMarkup
) серверную часть? - person Jean   schedule 24.06.2015