From ac769e656b122ff569c3f1534701b71e00fed586 Mon Sep 17 00:00:00 2001 From: crupest Date: Tue, 27 Oct 2020 19:21:35 +0800 Subject: Split front and back end. --- FrontEnd/webpack.config.prod.js | 53 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 FrontEnd/webpack.config.prod.js (limited to 'FrontEnd/webpack.config.prod.js') diff --git a/FrontEnd/webpack.config.prod.js b/FrontEnd/webpack.config.prod.js new file mode 100644 index 00000000..188cb940 --- /dev/null +++ b/FrontEnd/webpack.config.prod.js @@ -0,0 +1,53 @@ +const path = require("path"); +const { CleanWebpackPlugin } = require("clean-webpack-plugin"); +const CopyPlugin = require("copy-webpack-plugin"); +const WorkboxPlugin = require("workbox-webpack-plugin"); +const MiniCssExtractPlugin = require("mini-css-extract-plugin"); + +const config = require("./webpack.common"); + +config.mode("production"); + +config + .entry("index") + .add(path.resolve(__dirname, "src/app/service-worker.tsx")); + +config.module + .rule("css") + .use("mini-css-extract") + .before("css") + .loader(MiniCssExtractPlugin.loader) + .end(); + +config.module + .rule("sass") + .use("mini-css-extract") + .before("css") + .loader(MiniCssExtractPlugin.loader) + .end(); + +config.devtool("source-map"); + +config.plugin("mini-css-extract").use(MiniCssExtractPlugin); + +config.plugin("clean").use(CleanWebpackPlugin); + +config.plugin("copy").use(CopyPlugin, [ + { + patterns: [ + { + from: path.resolve(__dirname, "public/"), + to: path.resolve(__dirname, "dist/"), + }, + ], + }, +]); + +config.plugin("workbox").use(WorkboxPlugin.InjectManifest, [ + { + swSrc: path.resolve(__dirname, "src/sw/sw.ts"), + maximumFileSizeToCacheInBytes: 15000000, + }, +]); + +module.exports = config.toConfig(); -- cgit v1.2.3