设置 Ruby on Rails 7/React 应用程序时,esbuild 抛出“[错误] 无法解析 [导入语句]”

bac*_*spy 6 javascript reactjs esbuild ruby-on-rails-7

我正在尝试使用 React 应用程序设置我的第一个 Ruby on Rails 7。我使用esbuild标志安装了 Ruby on Rails:

\n

rails new project_name -d postgresql -j esbuild

\n

Yarn添加了reactreact-domreact-router-dom

\n

我还在我的 \'app/javascript\' 文件夹中创建了一个 React \'./components\' 文件夹,并将其导入到application.js文件中,该文件是包中 esbuild 构建脚本的入口点。 json文件。

\n
// Entry point for the build script in your package.json\nimport "@hotwired/turbo-rails";\nimport "./controllers";\nimport "./components";\n
Run Code Online (Sandbox Code Playgroud)\n

当我执行时bin/dev,服务器正常旋转,并且我得到了我的项目索引页面。但是,esbuild 会引发以下错误。

\n
// Entry point for the build script in your package.json\nimport "@hotwired/turbo-rails";\nimport "./controllers";\nimport "./components";\n
Run Code Online (Sandbox Code Playgroud)\n

import "./controllers";我不明白为什么当该语句功能正常时无法解决该语句。我浏览了 esbuild 文档并在这里搜索了其他帖子,但我似乎找不到任何处理此错误的内容。

\n

希望我是昏昏沉沉的,有一个简单的解决方案。

\n

我的package.json文件也在下面,以防有用:

\n
{\n  "name": "app",\n  "private": "true",\n  "dependencies": {\n    "@hotwired/stimulus": "^3.2.1",\n    "@hotwired/turbo-rails": "^7.2.4",\n    "esbuild": "^0.16.10",\n    "react": "^18.2.0",\n    "react-dom": "^18.2.0",\n    "react-router-dom": "^6.6.1"\n  },\n  "scripts": {\n    "build": "esbuild app/javascript/*.* --bundle --sourcemap --outdir=app/assets/builds --public-path=assets"\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n

我尝试更改组件文件夹的名称并使用不同的语法:

\n
import \'components\';\nimport \'/components\';\nimport "./test";\n
Run Code Online (Sandbox Code Playgroud)\n

等等...我已经阅读了 esbuild 文档,并尝试从头开始完全构建,但仍然遇到相同的错误。

\n

我希望这是一个快速解决方案,并且比我密度小的人可以帮助我看到光明。

\n

小智 1

我遇到了同样的问题,我通过安装涡轮导轨解决了它(双关语)

npm i @hotwired/turbo-rails