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

Rails集成Vue 3项目执行npm run build或部署至Heroku时出现Module not found错误

解决Vue 3 + Rails项目部署/build时找不到./src/main.js的问题

看起来你遇到的核心问题是构建工具无法找到指定的入口文件./src/main.js——本地运行正常但Linux环境(Heroku或本地执行npm run build)触发错误,大概率是路径配置、环境差异或文件缺失导致的。下面是几个针对性的排查和解决方向:

1. 确认文件路径与大小写一致性

Linux环境(包括Heroku)是大小写敏感的,而Windows/macOS默认不区分大小写,这很容易踩坑:

  • 检查项目根目录下是否真的存在src/main.js,而非Src/Main.js或其他大小写变体
  • 确认所有配置文件中引用的路径和实际文件路径完全一致,包括大小写细节

2. 检查Vue CLI的入口配置

如果项目用Vue CLI构建,默认入口是src/main.js,但自定义vue.config.js可能修改了这个路径:

  • 打开项目根目录的vue.config.js(没有则跳过),检查configureWebpack或chainWebpack中是否有修改entry的配置
  • 示例正确的入口配置:
module.exports = {
  configureWebpack: {
    entry: './src/main.js'
  }
}

3. 验证Rails集成的构建配置

作为Rails + Vue的组合项目,可能用了jsbundling-rails或webpacker,需要确认Rails端的构建配置:

  • 打开config/webpack/environment.js,检查入口点设置是否指向正确的main.js路径
  • 如果用jsbundling-rails,确认package.json的build命令是否正确关联Vue构建脚本,比如:
"scripts": {
  "build": "vue-cli-service build",
  "dev": "vue-cli-service serve"
}

4. 清理依赖缓存与重建

依赖缓存或旧构建文件可能导致路径识别异常,试试彻底清理后重建:

  • 执行以下命令清理本地依赖和缓存:
rm -rf node_modules package-lock.json
npm install
  • 再尝试执行npm run build,看是否解决问题

5. 检查Git提交与Heroku部署文件

确保src目录没有被意外排除在Git追踪之外:

  • 打开.gitignore文件,确认没有src/相关的忽略规则
  • 执行git status查看src目录是否被追踪,确保已经提交到仓库——只有提交的文件才会被部署到Heroku

如果以上步骤都尝试后仍未解决,建议补充你的environment.js完整内容和仓库结构细节,这样能更精准地定位问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.27 18:22:39