Rails 6迁移至Import Maps后Stimulus控制器加载失败求助
Rails 7.x 升级时 Stimulus 资产预编译问题的解决方法
问题情况
升级到Rails 7.x的过程中,先尝试更新JavaScript相关组件,安装Stimulus后加载页面出现以下报错:
Asset was not declared to be precompiled in production.
AddRails.application.config.assets.precompile += %w( controllers/hello_controller.js )toconfig/initializers/assets.rband restart your server
虽然可以手动把单个控制器文件加入预编译列表,但项目里有多个自定义或第三方的嵌套JavaScript文件,逐个添加显然不现实。按Stimulus的预期应该能自动加载controllers目录下的所有文件,推测问题和文件打包机制有关,但之前试了各种方法都没解决。
可行解决方案
将Sprockets升级到4.x版本就能解决这个问题,具体可参考Sprockets官方的3.x到4.x升级指南。
内容的提问来源于stack exchange,提问作者mike
相关产品推荐
相关产品推荐

