0

私は反応アプリケーションを持っています。 AddStatusとViewStatusという2つのページがあります。どちらも反応成分です。ノードjsの電子メール本文として反応してHTMLを表示します

私の要件は次のとおりです。 - 特定の時刻に、ViewStatus画面に表示される詳細を毎日電子メールで送信する必要があります。

ノードメーラーとノードスケジューラーをセットアップすることができます。しかし、どのようにViewStatusコンポーネントをバックエンドからレンダリングするのですか? viewStatus画面のHTMLを取得するにはどうすればいいですか?

私は私もの反応-ルータを使用しているが、私は別のアプローチを私server.jsに以下のようなReactDOMServerのrenderToStringメソッドを使用しますが、エラー

var App = React.createFactory(require('../ViewStatus')) 
 

 
var p = ReactDOMServer.renderToString(App());

Error: locals[0] does not appear to be a `module` object with Hot Module replace 
ment API enabled. You should disable react-transform-hmr in production by using 
    `env` section in Babel configuration. See the example in README: https://github. 
com/gaearon/react-transform-hmr 

を取得しようとしましたバックエンドからルートをトリガーする方法が不明です。

がどのように私は私のserver.js

答えて

0
var React = require("react"); 
var ReactDOMServer = require("react-dom/server"); 

var MyComponent = React.createClass({ 
    render: function() { 
     return React.DOM.div({}, "Text"); 
    } 
}); 

var App = React.createFactory(MyComponent) 

var html = ReactDOMServer.renderToString(App()); 

console.log("HTML =\n", html); 

出力で私のviewstatusコンポーネントのHTMLを取得します:あなたのエラーが言うように、私のために

HTML = 
<div data-reactroot="" data-reactid="1" data-react-checksum="-1164111617">Text</div> 

作品、あなたが問題を持っているように思えますReact Hot Loader ..あなたのコードはうまくいくようです。

+0

はい、この単純なコードは私のためにも機能します。私はserver.jsでこれを行うだけです。しかし、server.jsでコンポーネントをインポートしているときにエラーが発生しました – SCoder

+0

私はreact-hmreを削除した後に動作するようになりましたが、コンポーネントをロードするとdependencies.First Jqueryが失敗し始めます。 server.js(これは正しい方法ではありません)ですが、定義されていないドキュメントでは失敗します。renderToStringを使う正しい方法は何ですか? – SCoder

関連する問題