如何将此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");
global
和require
都是Node.js概念,它们在浏览器中不存在。
您正在寻找这个: https : //github.com/ssorallen/turbo_react-rails
安装说明:
-
将此行添加到应用程序的Gemfile:
gem 'turbo_react-rails'
-
安装更新的gem
$ bundle install
-
在Turbolinks之后,需要在“application.js”之类的JavaScript文件中进行turbo-react:
//= turbolinks //= require turbo-react
而已。 现在,如果您单击Web应用程序中的任何链接,则应通过Ajax加载它并使用React替换页面中的标记。