const path = require("path"); const webpack = require("webpack"); const ExtractTextPlugin = require("extract-text-webpack-plugin"); module.exports = { entry: { main: path.resolve(__dirname, "./server/client/main.js"), autoIndex: path.resolve(__dirname, "./server/client/autoIndex.js") }, externals: { react: "React", "react-dom": "ReactDOM", "react-router-dom": "ReactRouterDOM" }, output: { filename: "[name]-[hash:8].js", path: path.resolve(__dirname, "public/_assets"), publicPath: "/_assets/" }, module: { rules: [ { test: /\.js$/, exclude: /node_modules/, use: "babel-loader" }, { test: /\.css$/, use: ExtractTextPlugin.extract({ fallback: "style-loader", use: "css-loader" }) }, { test: /\.md$/, use: ["html-loader", "markdown-loader"] }, { test: /\.png$/, use: "file-loader" } ] }, plugins: [ new webpack.DefinePlugin({ "process.env.NODE_ENV": JSON.stringify( process.env.NODE_ENV || "development" ) }), new ExtractTextPlugin("[name]-[hash:8].css") ], devtool: process.env.NODE_ENV === "production" ? false : "cheap-module-source-map" };