50 lines
1.1 KiB
JavaScript
50 lines
1.1 KiB
JavaScript
const webpack = require("webpack");
|
|
const FriendlyErrorsPlugin = require("friendly-errors-webpack-plugin");
|
|
const HtmlWebpackPlugin = require("html-webpack-plugin");
|
|
const helpers = require("./helpers");
|
|
// const environment = require("./env/dev.env");
|
|
const MiniCSSExtractPlugin = require("mini-css-extract-plugin");
|
|
|
|
let webpackConfig = {
|
|
mode: "development",
|
|
devtool: "eval-cheap-module-source-map",
|
|
output: {
|
|
publicPath: "/",
|
|
filename: "js/[name].bundle.js"
|
|
},
|
|
optimization: {
|
|
concatenateModules: true,
|
|
splitChunks: {
|
|
chunks: "initial"
|
|
}
|
|
},
|
|
plugins: [
|
|
new FriendlyErrorsPlugin(),
|
|
new MiniCSSExtractPlugin({
|
|
filename: "css/[name].css"
|
|
}),
|
|
new HtmlWebpackPlugin({
|
|
template: "frontend/templates/Index.html"
|
|
})
|
|
],
|
|
devServer: {
|
|
compress: true,
|
|
historyApiFallback: true,
|
|
host: "0.0.0.0",
|
|
hot: true,
|
|
overlay: true,
|
|
stats: {
|
|
normal: true
|
|
},
|
|
proxy: {
|
|
"/api": {
|
|
target: "http://localhost:30010",
|
|
changeOrigin: false
|
|
}
|
|
},
|
|
writeToDisk: false
|
|
}
|
|
};
|
|
|
|
module.exports = webpackConfig;
|