ruby-on-rails 集成了React的Ruby on Rails 7

ocebsuys  于 2023-02-01  发布在  Ruby
关注(0)|答案(2)|浏览(154)

我是Ruby on Rails的新手,也许这是一个非常小的问题,但我在网上搜索了一个解决方案,所有的都至少有2-3年的历史,他们描述了同样的事情。我看的所有教程和视频,都说要创建一个新的应用程序与webpack的React,使用:

rails new app_name --webpack=react -d=postgresql -T

每个人都说,这个命令将创建一个包文件夹下我的app/javascript文件夹如下:

app/javascript:
  └── packs:
      └── application.js
      └── hello_react.jsx

实际上这些都没有发生。我没有包文件夹。相反,我有以下内容:

app/javascript:
  └── controllers:
      └── application.js
      └── hello_controller.js
      └── index.js

那么,我做错了什么?为什么我没有包文件夹?我如何集成React和Ruby on Rails?我的环境是- Linux Manjaro XFCE 21.2.6,ruby 3.0.3,rails 7.0.2.4。

smdncfj3

smdncfj31#

在Rails 7中,webpacker不再是默认选项,it has been replaced不再是import maps的默认选项,所以这就是为什么任何旧的rails/react教程在默认情况下都不适用于这个新版本的原因。
如果您正在启动一个新项目并希望使用React框架,我的建议是只需搜索up-to-date Rails/React tutorials,因为已经有很多这样的框架了。
如果这是一个升级到Rails 7的项目,并且您不想摆脱webpack,您可以考虑迁移到jsbundling-rails或开始使用shakapacker,从现在起,它似乎是webpacker的正式继承者。
jsbundling-rails项目中,there's a comparison of both gems可以帮助您决定,最后,当您最终决定使用哪一个时,webpacker -> jsbundling-rails guidewebpacker -> shakapacker guide可以帮助您进行转换。

yb3bgrhw

yb3bgrhw2#

问题出在您的命令上。下面是生成一个新的Rails项目以在Rails 7中使用webpack的正确命令:

rails new app_name -j webpack

然后可以使用以下命令添加react.js:

yarn add react react-dom

您可以在https://github.com/rails/jsbundling-rails找到文档

相关问题