Javascript 使用React路由器和React rails gem

Javascript 使用React路由器和React rails gem,javascript,ruby-on-rails,reactjs,react-router,react-rails,Javascript,Ruby On Rails,Reactjs,React Router,React Rails,我是一名经验丰富的RubyonRails开发人员,正在尝试使用reactjs。因此,我安装了react rails gem,并按照说明操作 有两种可能的入门方法: 使用资产管道 使用webpacker Webpacker gem看起来很新,我很难让Webpacker dev服务器与我当前的rails应用一起工作。而且使用foreman运行两个进程(一个用于rails,一个用于webpacker)看起来依赖性太大 因此,我继续使用资产管道方法,将所有React组件放在app/assets/java

我是一名经验丰富的RubyonRails开发人员,正在尝试使用reactjs。因此,我安装了react rails gem,并按照说明操作

有两种可能的入门方法:

  • 使用资产管道
  • 使用webpacker
  • Webpacker gem看起来很新,我很难让Webpacker dev服务器与我当前的rails应用一起工作。而且使用foreman运行两个进程(一个用于rails,一个用于webpacker)看起来依赖性太大

    因此,我继续使用资产管道方法,将所有React组件放在
    app/assets/javascripts/components/MyComponent.jsx
    中。一切正常,我可以使用

    现在我想围绕它设计一个单页应用程序。于是我开始探索。但是对于如何将
    react路由器
    react rails
    gem一起使用,没有适当的解释

    我尝试在
    packages.json
    中添加
    react路由器包
    ,并运行
    warn
    ,但在所有include操作之后,浏览器上出现以下错误

    Uncaught ReferenceError: exports is not defined
    

    在不使用网页包、不在浏览器中使用babel并加重客户端负担的情况下使用react router和rails有什么帮助吗?

    浏览器错误是因为您的CommonJS代码(即exports语句)没有翻译成适合在浏览器上运行的格式

    我没有尝试在Rails中运行反应,所以不确定资产管道是否能够与节点库一起工作,但是您可能需要考虑将您的方法切换到这样的事情: