const HtmlWebpackPlugin = require('html-webpack-plugin'); const { watch } = require('chokidar'); module.exports = { mode: 'development', devtool: 'inline-source-map', devServer: { before: (app, server) => { watch([ `${__dirname}/src/view`, ]).on('all', () => { server.sockWrite(server.sockets, 'content-changed') }) }, contentBase: `${__dirname}/dist`, }, entry: [ `${__dirname}/src/App.js`, ], output: { filename: '[name].[hash].js', path: `${__dirname}/dist`, publicPath: '/', }, plugins: [ new HtmlWebpackPlugin({ template: `${__dirname}/src/view/index.ejs`, }), ], module: { rules: [ { test: /\.js$/, exclude: /node_modules/, loader: 'babel-loader', }, { test: /\.css$/, use: [ 'style-loader', 'css-loader', ], }, { test: /\.(png|jpe?g|gif)$/i, use: [ { loader: 'file-loader', }, ], }, ], }, };