2016-02-21 1 views
0

Je veux vraiment créer générateur de site statique à l'aide des modèles/JSX réagisse composants. Jekyll et intermédiaire ont dû être piraté pour permettre à cette ...metalsmith générateur de site statique (avec jsx réagir)

Mais j'ai découvert http://www.metalsmith.io avec le plugin: https://github.com/yeojz/metalsmith-react-templates

J'ai la suite à ce jour:

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; 
    }); 

et fichier JSX:

var React = require('react'); 

var Entry = React.createClass({ 
    render: function() { 

    return(); 
    } 
}); 

module.exports = Entry; 

quand je lance le noeud build.js il des erreurs sur:

entry.jsx: Unexpected token 

enter image description here

Ferronnier-REACT-modèles par exemple semble être dépassée par conséquent les problèmes?

suggestion Essayé @:

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

Suppression de ma (mauvaise) réponse. D'une certaine manière, les erreurs de transformation JSX (l'erreur spécifique se produit assez souvent). Quelle version du noeud utilisez-vous? –

+0

Le noeud @janpieter_z est v4.2.2. mais je crois que je fais mal avec le plugin https://github.com/yeojz/metalsmith-react-templates –

+0

'return();' n'est pas valide JavaScript. –

Répondre

2

@salivan

Si vous rencontrez toujours des problèmes, même après avoir fait return (<p>Entry</p>);, il est très possible que c'est en fait un problème du compilateur babel.

Quelle version de babel utilisez-vous? Si c'est la version 6 et ci-dessus, vérifiez que vous avez au moins installé les plugins babel-preset-react et babel-preset-es2015.

+0

oui c'était le problème. auteur de plugin m'a aidé dans le problème de git. il a également ajouté babel-preset-react et babel-preset-s2015 en tant que dépendances. –