【问题标题】:Module Not Found When Run on Docker-Compose在 Docker-Compose 上运行时找不到模块
【发布时间】:2018-02-08 10:04:36
【问题描述】:

我正在准备一个将在生产中使用的 Dockerfile。但是由于某种原因,最后一个命令返回错误。

react_1  | [WEBPACK] Building 1 target
react_1  | [WEBPACK] Started building bundle.[chunkhash].js
react_1  | [WEBPACK] Build failed after 33.631 seconds
react_1  | [WEBPACK] Errors building bundle.[chunkhash].js
react_1  | Module not found: Error: Can't resolve './App' in '/home/app/react/src'

这里是docker文件的副本

Dockerfile.prod

FROM node:7.10.1-alpine

RUN apk update
ENV HOME=/home/app
COPY . $HOME/react/
RUN npm install yarn -g

WORKDIR $HOME/react
RUN mkdir build && mkdir dlls && yarn

CMD ["yarn", "start:prod"]

这是docker-compose 文件的副本

docker-compose.prod.yml

version: '3.1'
services:
  react:
    build:
      context: .
      dockerfile: Dockerfile.prod
    ports:
      - 3100:3100
    volumes:
      - /home/app/react

当我docker-compose -f docker-compose.prod.yml up --build -d 时,它会按预期工作,直到它构建 webpack 文件。但是如您在上面的错误中看到的那样失败。

但是当我这样做 docker-compose run react yarn start:prod 时,webpack 构建得很好。

这是有问题的repo

【问题讨论】:

  • 我得到同样的错误 start:dev 和 start:prod Module not found: Error: Can't resolve './App' in '/home/app/react/src'
  • 试试import { App } from './App'; - 而不是import App from './App'...特别是export default class App

标签: node.js docker webpack docker-compose dockerfile


【解决方案1】:

我的错。这是区分大小写的错误。因为我是在 Windows 上,所以它顺利通过。

所以发生错误是因为import 语句正在查找App 文件夹,但实际文件夹是app

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-12-07
    • 1970-01-01
    • 2021-08-06
    • 2023-03-26
    • 1970-01-01
    • 2023-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多