使用Render部署MongoDB项目遇错误:Cannot find module
问题排查与解决方法
1. 构建命令未执行TypeScript编译
你当前使用的构建命令yarn仅会安装项目依赖,不会将TypeScript代码编译为JavaScript输出到dist目录。查看仓库的package.json可知,项目配置了"build": "tsc"脚本用于编译TS代码,因此正确的构建命令应修改为:
yarn build
执行该命令后,src目录下的TS文件才会被编译到dist目录,确保路由等文件被正确生成。
2. 启动命令的引号格式错误
从报错日志可见,启动命令使用了中文引号‘node dist/server.js’,Linux环境下的Shell无法识别中文引号,会导致命令解析异常。需将启动命令改为英文引号包裹(或直接省略引号):
node dist/server.js
3. 路径大小写一致性检查
Render运行在Linux系统上,文件名与路径严格区分大小写。请检查:
- 确认
src/routes下的目标文件是userRoutes.ts(而非UserRoutes.ts或其他大小写变体) - 确认
server.ts中导入路由的语句路径大小写与实际文件完全匹配
本地验证步骤
- 先在本地执行
yarn build,查看dist目录下是否生成了routes/userRoutes.js文件 - 本地运行
node dist/server.js,确认项目能正常启动后再部署到Render
内容的提问来源于stack exchange,提问作者Yossi Asnafy
相关产品推荐
相关产品推荐

