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

升级至Rails 6.1与DartSass后JS资源无法找到

解决DartSass升级后JS资源404问题

1. 手动编译JS资源,排查编译错误

运行以下命令手动触发Webpack编译,检查是否能生成目标JS文件:

bin/webpack

查看终端输出,如果编译失败,根据报错修复问题(比如依赖缺失、代码语法错误等)。若编译成功,确认public/packs目录下是否存在application-xxx.js和popper-xxx.js文件。

2. 检查Webpacker配置完整性

打开config/webpacker.yml,确认output_path等配置项未被修改,默认输出路径应为public/packs,确保和javascript_pack_tag引用的路径一致。

3. 切换到Asset Pipeline管理JS资源(若不再使用Webpacker)

如果升级DartSass后计划用Rails原生Asset Pipeline统一管理资源:

  • 将JS文件移至app/assets/javascripts目录
  • 替换视图中的javascript_pack_tag:
    <%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
    
  • 在config/initializers/assets.rb中添加预编译规则:
    Rails.application.config.assets.precompile += %w( application.js popper.js )
    

4. 清理缓存并重启服务

执行以下命令清理旧编译资源,重新预编译后重启服务:

rails assets:clobber
rails assets:precompile

重启Rails服务器后再次访问页面验证。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 17:44:14