3

私はこの素晴らしいチュートリアルに従っています: setup-up-react-in-ruby-on-rails-part-1

次のエラーが表示されます: エラー: xxx からモジュール xxx が見つかりません

test-component.es6.js

React   = require('react/addons');

let  TestTwo = require('./components/test-two.es6.js');

let TestComponent = React.createClass({
render() {
return (
  <div>
    <h1>{this.props.title}</h1>
    <TestTwo />
  </div>

);
}
});
module.exports = TestComponent;

component.js

//= require_tree ./components

// You'll probably want this if your using babel
require("babelify/polyfill");
var app = window.app = global.app = {};
//React bootstrap modules

var TestComponent = require('./components/test-component.es6.js');
app.TestComponent = TestComponent;

このようにセットアップすると動作しますが、TestTwo コンポーネントはプリレンダリングされません (私は prerender:true を使用します)

重要な編集

このセットアップコンテンツでのサーバー編集後、事前にレンダリングされますが、ブラウザでデータが変更されるたびにサーバーを再起動する必要がありますが、ソースビューを開くと古いデータは新しくありません!?.

test-component.es6.js

React   = require('react/addons');

let TestComponent = React.createClass({
render() {
return (
  <div>
    <h1>{this.props.title}</h1>
    <app.TestTwo />
  </div>

);
}
});
module.exports = TestComponent;

component.js

//= require_tree ./components

// You'll probably want this if your using babel
require("babelify/polyfill");
var app = window.app = global.app = {};
//React bootstrap modules

var TestTwo = require('./components/test-two.es6.js');
app.TestTwo = TestTwo;

var TestComponent = require('./components/test-component.es6.js');
app.TestComponent = TestComponent;

TestTwo コンポーネントは単にテキストを返すだけです。

text.html.erbは両方のセットアップで同じです

<%= react_component 'app.TestComponent', {title:"Hello, Back"}, {prerender:true} %>

Win7 64 ビット OS

4

0 に答える 0