在Rails应用程序中集成ReactJS的正确方法是什么?

时间:2015-05-18 19:02:45

标签: ruby-on-rails node.js reactjs browserify

我正在寻找在Rails应用程序中集成ReactJS的正确方法。使用react-rails gem的反应组件非常容易。直到我使用自己的组件,一切正常。

集成第三方组件时会很有趣。通常那些可用作npm模块。所以我集成Browserify来处理模块中的依赖项。在这里,我经常会遇到奇怪的错误。例如,当我尝试整合Griddle时,我会Uncaught TypeError: Cannot read property '_currentElement' of null

我做了当前设置的example Rails app小。在那里你看到我自己的组件有效,但第三方没有。

那么错误或在Rails应用程序中集成ReactJS的方式是什么?

1 个答案:

答案 0 :(得分:0)

我将Rails与React一起使用,但仅适用于客户端应用程序(不适用于服务器端呈现)。

在我的工作流程中,我的组件使用资产管道解析器来定义与其他文件/组件/库的依赖关系。也就是说,在我的文件顶部你会看到这些导入:

//= require my/path/to/componentA
//= require my/path/to/componentB

每当我需要一个库(例如我使用React Bootstrap)时,我就去了这样的库的github并下载通常位于/ build下的文件,甚至是项目的根目录。

以其他方式下载依赖项的方法真的很糟糕。

在我的环境中,我需要用我的React文件做一些事情(我使用的是React Templates),所以我在Rails / Grunt中有一种混合体。大多数事情都是由Rails提供的,但在中间,有一个服务器处理我的HTML文件(ReactTemplates'代码),然后编译成JavaScript。

我对这种方法不太满意,但找不到另一种方法,因为Rails似乎被React扩展的开发者所抛弃。