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

Docker中Angular前端模块突然找不到的问题排查求助

Docker部署Angular前端MODULE_NOT_FOUND错误排查与修复

直接修复方案

你的Docker Compose配置中command字段的写法有误,导致Node.js把node usr/src/app/server/main.js当成了一个完整的模块路径(错误信息里显示的/node usr/src/app/server/main.js就是证据)。修改command配置为以下两种方式之一即可:

方式1:数组拆分命令与参数

frontend:
      image: node:latest
      command:
         - node
         - /usr/src/app/server/main.js
      volumes:
         - ./frontend:/usr/src/app
      networks:
         - default
         - proxy
      labels:
         - traefik.enable=true
         - traefik.http.routers.frontend.rule=Host(`my-domaine.de`)
         - traefik.http.routers.frontend.tls=true
         - traefik.http.routers.frontend.tls.certresolver=lets-encrypt
         - traefik.http.services.frontend.loadbalancer.server.port=5000

方式2:单字符串形式

frontend:
      image: node:latest
      command: node /usr/src/app/server/main.js
      volumes:
         - ./frontend:/usr/src/app
      networks:
         - default
         - proxy
      labels:
         - traefik.enable=true
         - traefik.http.routers.frontend.rule=Host(`my-domaine.de`)
         - traefik.http.routers.frontend.tls=true
         - traefik.http.routers.frontend.tls.certresolver=lets-encrypt
         - traefik.http.services.frontend.loadbalancer.server.port=5000

注意:

  • 数组形式下必须把命令(node)和参数(模块路径)拆分成独立元素
  • 模块路径要加开头的/,确保是容器内的绝对路径

原因解释

用数组形式写command时,Docker会直接把每个数组元素作为参数传给进程,不经过shell解析。原来的写法- node usr/src/app/server/main.js相当于让Node.js去加载名为node usr/src/app/server/main.js的模块(路径被自动补全为根目录下的奇怪名称),自然触发MODULE_NOT_FOUND错误。

而同配置的后端服务正常,大概率是后端的command写法正确(拆分了命令和参数),只是你没注意到这个差异。

额外排查验证步骤

如果修复后仍有问题,可执行以下步骤确认:

  • 进入容器检查文件:docker-compose exec frontend ls -l /usr/src/app/server/main.js,确认文件存在且权限正常
  • 手动在容器内执行启动命令:docker-compose exec frontend node /usr/src/app/server/main.js,观察是否能正常运行
  • 检查本地./frontend/server/main.js的拼写(如大小写、目录名)是否正确

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.19 20:26:13