'<'在服务器端node.js中使用reactJS时无法识别
'<' not recognized when using reactJS in server-side node.js
我想从服务器端传递React Component,它是用node.js编写的。代码(server.js):
var ReactDOMServer = require('react-dom/server');
var ReactApp = require('./console/ReactApp');
app.get('*', function(req, res, next){
var reactHtml = ReactDOMServer.renderToString(<ReactApp />);
res.render('index',
{reactOutput: reactHtml});
});
console/RectApp.js:
var React = require('react');
var ReactApp = React.createClass({
render: function() {
return <div>Hello World</div>;
}
});
module.exports = ReactApp;
在这两个文件中,'<>'运行node server.js
时生成SyntaxError
var reactHtml = ReactDOMServer.renderToString(<ReactApp />);
^
at exports.runInThisContext (vm.js:53:16)
at Module._compile (module.js:373:25)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Module.require (module.js:353:17)
at require (internal/module.js:12:17)
at Object.<anonymous> (/.../www.js:7:11)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
这就是JSX。您需要在使用前对其进行转换,或者使用babel节点运行它(后者不是推荐的方法)。
或者你可以使用这样的transpiled代码:
var reactHtml = ReactDOMServer.renderToString(React.createElement(ReactApp));
请参阅React.createElement的完整api
相关文章:
- 如何在ReactJS JSX中执行嵌套的if-else语句
- 拨打'父亲'函数形式a'儿童'ReactJS中的组件
- 如何识别我的网站中的慢速设备
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- ReactJS映射:如何仅在url变量不为空时呈现html链接
- 如何更改reactjs中外部/独立组件的状态或属性
- AngularJS指令只识别双向绑定类型
- ReactJS和SpringDataRest缓存问题可能与websocket有关
- reactjs this.refs vs document.getElementById
- php脚本中无法识别ajax传递的值
- 同构reactjs-cdn资产
- 识别没有ID或特定属性的对象
- JavaScript无法识别图像
- 在ReactJS中重新渲染孩子3次可以接受吗
- 如何在ReactJs中显示Json数据
- 将IndexedDB中的数据拉入数组,并通过ReactJS输出
- '<'在服务器端node.js中使用reactJS时无法识别
- ReactJS:如何识别浏览器选项卡是否已关闭
- ReactJS + MaterialUI:如何识别< tablelow />'s复选框被点击
- 如何识别选中菜单项/菜单项的主要文本在ReactJS材料- ui