【发布时间】:2016-06-02 20:49:59
【问题描述】:
我真的很想使用 reacts jsx 模板/组件创建静态站点生成器。 Jekyll 和中间人必须被黑客入侵才能允许这样做......
但我发现 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 |
【问题讨论】:
-
删除了我的(错误的)答案。不知何故,JSX 转换错误(特定错误经常发生)。你运行的是哪个版本的节点?
-
@janpieter_z 节点是 v4.2.2。但我相信我对插件 github.com/yeojz/metalsmith-react-templates 做错了
-
return ();不是有效的 JavaScript。 -
@FelixKling 正确。但它是有效的 JSX 吗?
标签: reactjs babeljs react-jsx jsx metalsmith