首页 文章

在docker / macOS重新编译错误时更换Webpack热模块

提问于
浏览
0

我在开发环境中使用docker,在macOS上更换热模块 . 我可以成功运行我的应用程序,当更改文件时,webpack热重新加载实际上可以获取更改 . 但是,重新编译始终在此步骤失败,并显示以下错误消息:

Error Message

webpack.config

这是我的webpack配置:

const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
    mode: 'development',
    entry: './src/index.js',
    output: {
        path: __dirname,
        filename: 'bundle.[hash].js',
        //publicPath: '/'
    },
    devtool: 'inline-source-map',
    module: {
        rules: [
            {
                test: /\.(js)$/,
                exclude: /node_modules/,
                use: ['babel-loader']
            },
            {
                test: /\.css$/,
                use: [
                    {
                        loader: 'style-loader'
                    },
                    {
                        loader: 'css-loader',
                        options: {
                            modules: true,
                            camelCase: true,
                            sourceMap: true
                        }
                    }
                ]
            }
        ]
    },
    plugins: [
        new webpack.HotModuleReplacementPlugin(),
        new HtmlWebpackPlugin({
            template: 'dist/index.html',
        })
    ],
    devServer: {
        host: '0.0.0.0',
        contentBase: './dist',
        port: 8080,
        historyApiFallback: true,
        open: true,
        hot: true
    },
    watchOptions: { poll: true }
};

package.json

我的package.json文件:

{
  "scripts": {
    "start": "webpack-dev-server"
  },
  "devDependencies": {
    "babel-core": "^6.26.0",
    "babel-loader": "^7.1.4",
    "babel-preset-env": "^1.6.1",
    "babel-preset-es2015": "^6.24.1",
    "babel-preset-stage-1": "^6.24.1",
    "babel-preset-stage-2": "^6.24.1",
    "css-loader": "^0.28.11",
    "react-hot-loader": "^4.0.1",
    "style-loader": "^0.20.3",
    "webpack": "^4.5.0",
    "webpack-cli": "^2.0.14",
    "webpack-dev-server": "^3.1.2"
  },
  "dependencies": {
    "babel-cli": "^6.26.0",
    "babel-preset-react": "^6.24.1",
    "html-webpack-plugin": "^3.2.0",
    "react": "^16.3.1",
    "react-dom": "^16.3.1",
    "react-prop-types": "^0.4.0",
    "react-router-dom": "^4.2.2",
    "semantic-ui-react": "^0.79.1"
  }
}

executed command to run

要运行应用程序,请使用以下命令行 . 它创建一个与docker同步的卷,并使用"start"命令启动dev服务器,执行webpack-dev-server . 我可以访问和使用应用程序,但没有热重新加载没有上面的错误消息 .

docker run --rm -i -t -v /Path/to/folder:/app -p 8080:8080 jmfirth/webpack yarn start

1 回答

  • 0

    Update 问题现已解决 .

    基于this issue及其讨论,这似乎是最新的webpack-dev-servers热模块与webpack 4.5.0相结合的问题 .

    通过将webpack-dev-server降级到3.0.0版本已经解决了这个问题,但是webpack-dev-server存储库中仍然存在open issue .

相关问题