metalsmith static site generator(with react jsx)

时间:2016-02-21 13:06:07

标签: reactjs babeljs react-jsx jsx metalsmith

我真的想使用反应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

enter image description here

metalsmith-react-templates示例似乎已经过时,因此存在问题?

尝试过建议@:

  4 |   render: function() {
  5 | 
> 6 |     return (<p>Entry</p>);
    |             ^
  7 |   }
  8 | });
  9 | 

1 个答案:

答案 0 :(得分:2)

@salivan

如果您在执行return (<p>Entry</p>);之后仍然遇到问题,那么它很可能是babel编译器的问题。

您使用的是什么版本的babel

如果版本为6及更高版本,请检查您是否至少安装了babel-preset-reactbabel-preset-es2015插件。