-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.config.js
49 lines (44 loc) · 1.28 KB
/
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
46
47
48
49
"use strict";
const merge = require('webpack-merge');
const PATHS = require('./webpack-paths');
const loaders = require('./webpack-loaders');
const common = {
entry: { // The entry file is index.js in /client/src
app: PATHS.src
},
output: { // The output defines where the bundle output gets created
path: PATHS.dist,
filename: 'bundle.js'
},
module: {
rules: [
loaders.babel, // Transpiler
loaders.css, // Our bundle will contain the css
loaders.font, // Load fonts
]
},
resolve: {
extensions: ['.js', '.jsx'] // the extensions to resolve
}
};
let config;
// The switch defines the different configuration as development requires webpack-dev-server
switch(process.env.NODE_ENV) {
case 'build':
config = merge(
common,
{ devtool: 'source-map' } // SourceMaps on separate file
);
break;
case 'development':
config = merge(
common,
{ devtool: 'eval-source-map' }, // Default value
loaders.devServer({
host: process.env.host,
port: 3000
})
);
}
// We export the config
module.exports = config;