这是我用Express设置的路由器:
var r = require('rethinkdb');
var quotes = require('../model/quotes');
var user = require('../model/users');
var auth = require('../lib/auth');
var React=require('react');
var ReactDOMServer=require('react-dom/server')
var Homepage=React.createFactory(require('../component/index.js').Homepage);
module.exports = function(app, passport) {
app.get('/', function(req, res) {
if (req.user) {
res.redirect('/dashboard');
} else {
var HomepageHTML=ReactDOMServer.renderToString(Homepage({}));
res.render('index',{homepage:HomepageHTML});
}
});
}
在index.html
视图中,用Swig模板引擎编写:
{% extends 'main.html' %}
{% block title %}Homepage{% endblock %}
{% block body %}
{{homepage}}
{% endblock %}
它使用标签呈现字符串,而不是使用React创建的组件,现在我应该怎么做才能使Swig呈现我写的组件?
答案 0 :(得分:0)
你试过{{ homepage.toString() }}
吗?我认为这将解决问题。