Rails 6.1.4运行提示Webpacker找不到application.js报错如何解决?
解决方案
1. 检查webpacker基础配置
打开项目根目录下的config/webpacker.yml文件,找到当前运行环境对应的配置段(开发环境对应development块,生产环境对应production块),确认compile属性的值为true,避免Rails不自动触发webpack编译。
2. 安装完整前端依赖
Rails 6的webpacker依赖Node.js生态的包,首次初始化项目没有自动安装依赖时会导致编译失败,在项目根目录执行以下命令安装依赖:
yarn install # 若使用npm作为包管理器则执行 npm install
3. 手动触发webpack编译
依赖安装完成后手动执行编译命令生成打包文件和manifest映射:
rails webpacker:compile
执行完成后查看public/packs/manifest.json,只要文件不为空且包含application.js的映射条目,就说明编译成功。
4. 开发环境热重载配置(可选)
如果开发过程中需要实时生效JS代码改动,可以单独开启一个终端窗口运行webpack dev server,不用每次改动后手动编译:
./bin/webpack-dev-server
启动后Rails会自动从该服务加载打包后的JS资源,代码变更后会自动重新编译。
异常情况处理
如果以上步骤执行完成后问题仍未解决,可以尝试重新初始化webpacker配置:
rails webpacker:install
执行过程中出现文件覆盖提示时,按需选择是否覆盖本地已修改的配置文件即可。
内容的提问来源于stack exchange,提问作者JamesReach
相关产品推荐
相关产品推荐

