我真的想使用反应jsx模板/组件创建静态站点生成器。杰基尔和中间人不得不被黑客攻击......
但我发现http://www.metalsmith.io有插件:https://github.com/yeojz/metalsmith-react-templates
到目前为止我已经跟进了:
var Metalsmith = require('metalsmith');
var reactTemplate = require('metalsmith-react-templates');
Metalsmith(__dirname)
.clean(true)
.use(reactTemplate({
directory: 'templates',
isStatic: true
}))
.source('src')
.destination('build')
.build(function(err) {
if (err) throw err;
});
和jsx文件:
var React = require('react');
var Entry = React.createClass({
render: function() {
return ();
}
});
module.exports = Entry;
当我运行node build.js时出错:
entry.jsx: Unexpected token
metalsmith-react-templates示例似乎已经过时,因此存在问题?
尝试过建议@:
4 | render: function() {
5 |
> 6 | return (<p>Entry</p>);
| ^
7 | }
8 | });
9 |
答案 0 :(得分:2)
@salivan
如果您在执行return (<p>Entry</p>);
之后仍然遇到问题,那么它很可能是babel
编译器的问题。
您使用的是什么版本的babel
?
如果版本为6及更高版本,请检查您是否至少安装了babel-preset-react
和babel-preset-es2015
插件。