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

新建Rails 5.1项目使用Webpack时application.js无法正常加载

Rails 5.1 Webpacker 404加载错误的解决办法

我之前也碰到过一模一样的问题,给你几个实用的排查和解决步骤:

  • 先确认Webpacker的实时编译服务是否在运行
    Rails 5.1的Webpacker在开发环境下默认依赖webpack-dev-server来实时编译JS资产,如果这个服务没启动,服务器找不到编译后的文件就会报404。解决步骤很直接:

    1. 先关掉当前运行的Rails服务器
    2. 打开新的终端窗口,进入项目目录,运行命令:./bin/webpack-dev-server
    3. 回到原来的终端,重新启动Rails服务器:rails s
    4. 刷新页面,应该就能正常加载Webpacker打包的JS文件了
  • 嫌开两个终端麻烦?直接编译静态文件到本地
    如果你不想额外维护一个webpack-dev-server进程,可以直接把Webpacker的资产编译到public/packs目录下,运行这个命令:

    bundle exec rails webpacker:compile
    

    编译完成后再启动Rails服务器就能访问了,唯一的小缺点是每次修改app/javascript里的代码后,都需要重新运行这个命令才能看到更新。

  • 快速核对默认配置是否正常
    虽然你说没修改过默认文件,但可以快速扫两个关键配置:

    1. 确认config/webpacker.yml里的public_output_path是packs(默认就是这个值,一般不会出问题)
    2. 检查config/environments/development.rb里是否开启了静态文件服务:config.public_file_server.enabled = true,默认是开启的,如果被意外修改了改回来就行
  • 最后确认标签引用没问题
    你用的<%= javascript_pack_tag 'application' %>是完全正确的,app/javascript/packs/application.js本身就是Webpacker默认的入口文件,这部分不用调整。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:08:14