1

私はこれに出くわしました:

https://github.com/ssorallen/turbo-react

そして、私はそれが何をするかが好きです。現在React-Rails gemを使用しているRailsプロジェクト内でこのコードをどのように使用するかについて少し混乱しています

React Rails を使用して Rails gem にコードを読み込むことができるように、どこにコードを配置すればよいかについて、私はほとんど混乱しています。主要な JS ファイルを vendor/assets フォルダーに貼り付けると、次のメッセージが表示されます。

Uncaught ReferenceError: global is not defined

この種の JS ファイルを Rails プロジェクトに含める方法を根本的に誤解しているだけであることはわかっています。

4

2 に答える 2

2

src/turbo-react.jsは、ブラウザー環境ではなく、Node.js 環境を対象としています。別のファイルpublic/dist/turbo-react.min.jsが表示されます。これは、ブラウザーで (Webpack を使用して) 実行するために「コンパイル」されています。そのファイルを にコピーしてvendor/assetsから、 で要求する必要がありapplication.jsます。

の最初の数行からsrc/turbo-react.js、これが Node.js 用であることがわかりました。

if (global.Turbolinks === undefined) {
  throw "Missing Turbolinks dependency. TurboReact requires Turbolinks be included before it.";
}

var HTMLtoJSX = require("htmltojsx");
var JSXTransformer = require("react-tools");
var React = require("react");

globalどちらもブラウザにrequireは存在しない Node.js の概念です。

于 2015-05-24T04:36:43.823 に答える
1

あなたは私が推測するこれを探しています: https://github.com/ssorallen/turbo_react-rails

インストール手順:

  1. 次の行をアプリケーションの Gemfile に追加します。

    gem 'turbo_react-rails'

  2. 更新された gem をインストールする

    $ bundle install

  3. Turbolinks の後に "application.js" のような JavaScript ファイルで Turbo-React を要求します。

    //= turbolinks //= require turbo-react

それでおしまい。Web アプリケーションのリンクをクリックすると、Ajax 経由で読み込まれ、React を使用してページ内のタグが置き換えられます。

于 2015-06-05T14:30:43.887 に答える