首页 > 解决方案 > 更改不会反映在 docker 上运行的 webpack-dev-server 中

问题描述

我尝试运行 docker 的反应应用程序

编译成功,但我被没有检测到对 React 文件的更改的问题所困扰。

我尝试添加监视选项并建立生产模式,但它们都不起作用

https://medium.com/@zwegrzyniak/docker-compose-and-webpack-dev-server-hot-reloads-b73b65d13d79

这篇文章对我来说似乎是最直接的问题,但我不确定

这个我的代码

webpack.config.js

const publidDir = `${__dirname}/public`;
module.exports = {
  entry: [
    './src/index.jsx',
  ],
  output: {
    path: publidDir,
    publicPath: '/',
    filename: 'bundle.js',
  },
  module: {
    rules: [{
      exclude: /node_modules/,
      loader: 'babel-loader',
      query: {
        presets: ['react', 'es2015'],
      },
    }],
  },
  resolve: {
    extensions: ['.js', '.jsx'],
  },
  watch: true,
  watchOptions: {
    aggregateTimeout: 300,
    poll: 1000
  },
  devServer: {
    historyApiFallback: true,
    contentBase: publidDir,
    host: '0.0.0.0',
    port: '3000',
    open: true,
    hot: true,
  },
};

Dockerfile

FROM node:10.16.3-alpine

RUN mkdir -p /src
WORKDIR /src
COPY ./ ./

RUN yarn install

CMD ["yarn", "start"]

EXPOSE 3000

码头工人-compose.yml

version: "3"
services:
  webpack:
    build: ./docker
    ports:
      - "3000:3000"
    volumes:
      - ./docker/src:/docker/src

谢谢

标签: reactjsdockerwebpackbabeljsbabel-loader

解决方案


推荐阅读