-
Notifications
You must be signed in to change notification settings - Fork 1
/
webpack.config.js
45 lines (41 loc) · 987 Bytes
/
webpack.config.js
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
const path = require('path');
const HTMLWebpackPlugin = require('html-webpack-plugin');
const PreloadWebpackPlugin = require('preload-webpack-plugin'); // Not supported in wp4
const UglifyWebpackPlugin = require('uglifyjs-webpack-plugin');
require('dotenv').config({ path: './vars.env' });
const config = {
mode: process.env.WEBPACK_SERVE ? 'development' : 'production',
entry: './src/scripts',
// Config for webpack-serve
serve: {
host: process.env.HOST,
port: process.env.PORT,
open: true,
},
plugins: [
new HTMLWebpackPlugin({
title: 'Webpack demo',
template: path.resolve(__dirname, 'index.html'),
}),
// new PreloadWebpackPlugin({
// rel: 'preload',
// as: 'script',
// }),
],
optimization: {
minimizer: [new UglifyWebpackPlugin({ sourceMap: true })],
},
module: {
rules: [
{
test: /\.css$/,
use: ['style-loader', 'css-loader'],
},
{
test: /\.js$/,
use: 'babel-loader',
},
],
},
};
module.exports = config;