1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73
| const path = require("path"); const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = (env, argv) => {
env = env || { development: true }; return { entry: { index: path.resolve(__dirname, "./js/index.js") }, module: { rules: [ { test: /\.js$/i, use: { loader: "babel-loader", options: { presets: ["@babel/preset-env"], plugins: [ ["@babel/plugin-proposal-decorators", { "legacy": true }], ["@babel/plugin-proposal-class-properties", { "loose": true }] ] } } }, { test: /\.scss$/i, use: [ "style-loader", "css-loader", { loader: "postcss-loader", options: { plugins: [require("autoprefixer")] } }, "sass-loader"] }, { test: /\.(jpg|png|gif)$/i, use: { loader: "url-loader", options: { outputPath: "imgs/", limit: 4 * 1024 } } }, { test: /\.(eot|svg|ttf|woff|woff2)$/i, use: { loader: "url-loader", options: { outputPath: "fonts/", limit: 4 * 1024 } } } ] }, plugins: [ new HtmlWebpackPlugin({ template: path.resolve(__dirname, "./index.html") }) ],F ...env.production ? require("./config/webpack.production") : require("./config/webpack.development") } }
|