В маршрутизаторе моего приложения NodeJS я хочу отобразить приложение-ответ. Поскольку он не просматривается (и там реактивирован), он возвращает unexpected token <
ошибки при построении. Я нашел, если я require("node-jsx").install()
, он не возвращает мне эту ошибку. Но node-jsx
устарел. Есть ли способ построить проект, не требуя его?Избавление от node-jsx
var JSX = require('node-jsx').install(),//as we don't reactify it while building
React = require('react'),
Board = React.createFactory(require('../components/board')),
DataStore = require('../store/store');
var router = require('express').Router();
router.get('/', function(req, res) {
var initialState = {'users': DataStore.getUsers()};
var markup = React.renderToString(
Board(initialState)
);
res.render('board', {
markup: markup,
state: JSON.stringify(initialState),
layout: 'boardLayout'
});
});
module.exports = router;
Если ваш компонент платы находится в jsx, его необходимо преобразовать в js, прежде чем он может быть обработан реакцией. Является ли плата jsx-файлом? – Mark
Да, на самом деле это файл jsx, но с расширением '.js'. –