如何将此React库与React-Rails一起使用

我发现了这个:

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

我喜欢它的function,我对我如何在目前使用React-Rails gem的 Rails项目中使用此代码感到困惑

我很困惑在哪里放置代码,以便我可以使用React Rails将其读入我的Rails gem。 如果我将主JS文件粘贴到我的vendor / assets文件夹中,我收到以下消息:

Uncaught ReferenceError: global is not defined 

我知道我从根本上误解了如何将这种JS文件包含到我的Rails项目中。

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"); 

globalrequire都是Node.js概念,它们在浏览器中不存在。

您正在寻找这个: 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替换页面中的标记。