Rails 7迁移报错:.coffee文件未配置加载器及依赖解析失败
Rails 7迁移:CoffeeScript加载器配置与路径解析修复
一、配置CoffeeScript加载器(适配Rails7默认的esbuild)
- 安装esbuild CoffeeScript插件
执行终端命令安装开发依赖:yarn add -D esbuild-coffee - 修改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”路径解析错误
- 确认文件存在性
检查app/javascript/controllers/application.js是否存在,若缺失,可通过rails generate stimulus:install生成标准的控制器文件结构(如果使用Stimulus)。 - 配置路径别名(可选)
若原代码的路径引用规则与Rails7默认结构不符,可在esbuild.config.js中添加别名映射:require('esbuild').build({ // 其他配置 resolve: { alias: { 'controllers': './app/javascript/controllers' } } }); - 修正导入语句
确保代码中导入controllers/application的路径正确,例如使用相对路径:import '../controllers/application';
三、验证修复效果
执行以下命令测试配置是否生效:
rails assets:precompile # 或直接运行yarn构建 yarn build
内容的提问来源于stack exchange,提问作者SupremeA
相关产品推荐
相关产品推荐

