SuperAPI AI 工具集

javascript-in-rails

前端与建站

查看项目

更新于 10-16 05:01

技能介绍

用途:为 Rails 7+ 应用提供 JavaScript 集成指导,涵盖 JavaScript 方案选型、打包工具配置,以及 Turbo/UJS 替换。

主要能力:

  1. 选择 JavaScript 策略。import maps 为 Rails 7+ 默认方案,无需 Node.js 或 Yarn,无构建步骤,直接运行 bin/rails server,适合 Hotwire 优先的应用和较小的 JS 需求。打包工具可选 Bun、esbuild、Rollup、Webpack,通过 jsbundling-rails 集成,开发时运行 bin/dev;esbuild、Rollup、Webpack 需要 Node.js 与 Yarn,Bun 兼具运行时与打包器。
  2. import maps 配置。已有应用安装:bundle add importmap-rails,然后 bin/rails importmap:install。固定包:bin/importmap pin react react-dom。在 app/javascript/application.js 中导入。相关文件为 config/importmap.rb 与 app/javascript/application.js。
  3. 打包工具创建应用:rails new my_app --javascript=bun,可选 bun、esbuild、rollup、webpack。
  4. Turbo 与 UJS 替换。使用 Turbo 助手和 data 属性替代 Rails UJS:方法覆盖用 data: { turbo_method: "delete" },确认用 data: { turbo_confirm: "Are you sure?" };非 GET 操作优先使用 button_to。
  5. Ajax 与 request.js。非 GET 请求需要 X-CSRF-Token,Rails Request.JS 会处理该令牌,可从 @rails/request.js 导入 FetchRequest 并发起请求。

适用场景:在 import maps 与打包器之间做选择、搭建或迁移 JavaScript 工具链、使用 Turbo 助手替换 UJS、以及实现带 CSRF 保护的 Ajax 请求。

限制:资料未提供具体版本要求、性能或兼容性细节、收费与许可信息,亦未给出完整示例或错误处理说明,这些内容暂未提供。