You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Rails 7迁移报错:.coffee文件未配置加载器及依赖解析失败

Rails 7迁移:CoffeeScript加载器配置与路径解析修复

一、配置CoffeeScript加载器(适配Rails7默认的esbuild)

  1. 安装esbuild CoffeeScript插件
    执行终端命令安装开发依赖:
    yarn add -D esbuild-coffee
    
  2. 修改esbuild配置
    项目根目录下的esbuild.config.js(无则新建)中添加插件:
    const coffee = require('esbuild-coffee');
    
    require('esbuild').build({
      entryPoints: ['app/javascript/application.js'],
      bundle: true,
      outdir: 'app/assets/builds',
      plugins: [coffee()],
      // 保留原有其他配置项
    }).catch(() => process.exit(1));
    
    若不想单独维护配置文件,也可直接修改package.json的build命令:
    "scripts": {
      "build": "esbuild app/javascript/application.js --bundle --outdir=app/assets/builds --plugin:esbuild-coffee"
    }
    

二、修复“controllers/application”路径解析错误

  1. 确认文件存在性
    检查app/javascript/controllers/application.js是否存在,若缺失,可通过rails generate stimulus:install生成标准的控制器文件结构(如果使用Stimulus)。
  2. 配置路径别名(可选)
    若原代码的路径引用规则与Rails7默认结构不符,可在esbuild.config.js中添加别名映射:
    require('esbuild').build({
      // 其他配置
      resolve: {
        alias: {
          'controllers': './app/javascript/controllers'
        }
      }
    });
    
  3. 修正导入语句
    确保代码中导入controllers/application的路径正确,例如使用相对路径:
    import '../controllers/application';
    

三、验证修复效果

执行以下命令测试配置是否生效:

rails assets:precompile
# 或直接运行yarn构建
yarn build

内容的提问来源于stack exchange,提问作者SupremeA

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 12:27:38