【发布时间】: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