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 之后需要在 JavaScript 文件(如“application.js”)中进行 turbo-react:

    //= turbolinks //= require turbo-react

而已。现在,如果您单击 Web 应用程序中的任何链接,它应该通过 Ajax 加载并使用 React 替换页面中的标签。

于 2015-06-05T14:30:43.887 回答