使用具有react-rails gem的React路由器

时间:2017-07-10 12:05:07

标签: javascript ruby-on-rails reactjs react-router react-rails

我是rails开发人员的经验丰富的ruby,并尝试使用 reactjs 。所以我安装了 react-rails gem 并按照说明操作。

有两种可能的入门方法:

  1. 使用资产管道
  2. 使用webpacker
  3. Webpacker gem看起来很新,我很难让webpacker-dev-server与我当前的rails应用程序一起工作。并且使用foreman运行两个进程(一个用于rails,一个用于webpacker)看起来太依赖了。

    所以我将所有的React组件放在app/assets/javascripts/components/MyComponent.jsx中,继续我的资产管道方法。一切正常,我可以使用<%=reach_component("MyComponent")%>

    渲染组件

    现在我想围绕它设计一个单页应用程序。因此,我开始探索react-router。但是没有关于如何将react-routerreact-rails gem一起使用的正确解释。

    我尝试在react-router package中添加packages.json并运行yarn,但在所有包含后,浏览器上出现以下错误。

    Uncaught ReferenceError: exports is not defined
    

    在没有webpack的情况下开始使用react-router和rails以及在浏览器中不使用babel并使客户端变重的任何帮助?

1 个答案:

答案 0 :(得分:0)

浏览器错误是因为您没有将CommonJS代码(即导出语句)转换为适合在浏览器上运行的格式。

我还没有尝试让React在rails中运行,所以我不确定资产管道是否能够使用节点库,但是你可能需要考虑将你的方法转换为这样的:

http://blog.arkency.com/2015/03/gulp-modern-approach-to-asset-pipeline-for-rails-developers/