Ruby 在 Rails "support for the experimental syntax 'jsx' isn't currently enabled"

Ruby on Rails "support for the experimental syntax 'jsx' isn't currently enabled"

我正在构建一个带有 rails-react 的应用程序。我的观点之一,search_terms/index,使用了一个名为 SearchTermIndex.js 的 React 组件,如下所示:

<%= react_component("SearchTermIndex", { 
    
    currentUser: current_user,
    admin: User.where(admin: true)
          
          }) %>

当我尝试加载该页面时,控制台显示错误 support for the experimental syntax 'jsx' isn't currently enabled。我已尝试按照 here 的建议添加 .babelrc 文件,还尝试将我的 babel.config.js 文件更改为:

...
return {
    presets: [
      isTestEnv && [
        '@babel/preset-env',
        {
          targets: {
            node: 'current'
          }
        }
      ],
      (isProductionEnv || isDevelopmentEnv) && [
        '@babel/preset-env',
        {...

对此:

...return {
    presets: [
      isTestEnv && [
        '@babel/preset-env',
    '@babel/preset-react',
        {
          targets: {
            node: 'current'
          }
        }
      ],
      (isProductionEnv || isDevelopmentEnv) && [
        '@babel/preset-env',
    '@babel/preset-react',
        {...

我猜测 Rails 处理 React 文件和绕过常规结构的方式不允许我有效地进行这些更改,因为我的应用程序的根文件夹在 React 环境之外(我猜?)。我应该在 components 文件夹中创建 .babelrc 文件吗?或者其他地方?

这些似乎也没有解决我的问题,所有这些似乎都适用于仅反应应用程序: Creating a babel.config.js

已通过 运行 以下内容修复它(基本上是重新安装 react-rails):

bundle install
rails webpacker:install
rails webpacker:install:react
rails generate react:install