2015-01-02 37 views
9

私はちょうどReactJSを学び始めており、Flaskで使用するためにAngularJSから切り替える価値があるかどうかを判断しています。 ReactJSの利点の1つは、renderToStringがレンダリングする方法と、より速いロード時間とより良いSEOのためのHTML文字列であることです。私が読んだことから、SEOはAngularJSができることよりはるかに優れていますが、GoogleはクロールJavascriptを改善するために取り組んでいます。FlaskのReactJSサーバーサイドレンダリング

私の質問は、SEOのメリットがFlaskのようなフレームワークでどのように機能するかということです。下のようなコンポーネントがあり、単にそれを私のdivにレンダリングするとします。このサーバ側をレンダリングしたいのであれば、nodejsやJavascriptを実行できるPythonライブラリのようなものを使う必要がありますか? React.renderToString(.....)を試してやると何もしません。これが事実ならば、ReactJSのSEOの宣伝された利点は本当にそれをAngularJSより良くしませんか?私がこれを理解するのを助けてください、そして、もしこれを達成するためにどうすればよいかについてFlaskを使ってJavascript Server Sideをレンダリングすることが可能なら?

var Foo = React.createClass({ 
    render: function() { 
     return (
      <div>Foo</div> 
     ); 
    } 
}); 

React.render(<Foo />, document.getElementById('foo')); 
+1

react + phpについて質問する質問がいくつかあります。答えはPythonと同じです(たとえば、PHPv8をPyv8に置き換えるなど)。そして、equivilent Pythonコード(例: [this one](http://stackoverflow.com/a/26049289/1074592)。 – FakeRainBrigand

答えて

2

これは、Djangoのではなく、フラスコのためであるが、基本的な技術に適応しやすくする必要があります:https://github.com/markfinger/django-reactのフォークあります

+0

インラインスクリプトを使用せずにこれを行う良い方法があるかどうか知っていますか?彼らの例では、文脈をインラインスクリプトタグに入れるだけです。私のCSPを幸せにするための選択肢を探していました。 –

+0

です! https://github.com/keredson/bottle-react(フラスコとボトルで作業) – keredson

0

Djangoは反応し、今より汎用的なパッケージに進化してきました:https://github.com/mic159/react-renderを。また、ノードサービスをインストールする必要があります。これは、任意のPythonフレームワークで使用することができます。 これは、同形テンプレートを持つのがはるかに簡単な方法です。