-
Notifications
You must be signed in to change notification settings - Fork 13
/
webpack.prod.js
45 lines (44 loc) · 1.36 KB
/
webpack.prod.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 webpack = require("webpack");
const merge = require("webpack-merge");
const UglifyJsPlugin = require("uglifyjs-webpack-plugin");
const OptimizeCSSAssetsPlugin = require("optimize-css-assets-webpack-plugin");
const common = require("./webpack.common.js");
const HtmlWebpackPlugin = require("html-webpack-plugin");
module.exports = merge(common, {
mode: "production",
optimization: {
minimize: true,
minimizer: [
new UglifyJsPlugin({
uglifyOptions: {
compress: {
drop_console: true
}
}
})
]
},
plugins: [
new webpack.DefinePlugin({
NODE_ENV: JSON.stringify("production"),
MAPBOX_TOKEN: JSON.stringify(process.env.MAPBOX_TOKEN),
API_SERVER: JSON.stringify(process.env.API_SERVER),
ROUTING_SERVER: JSON.stringify(process.env.ROUTING_SERVER),
TILE_SERVER: JSON.stringify(process.env.TILE_SERVER),
ANALYTICS_SERVER: JSON.stringify(process.env.ANALYTICS_SERVER),
ANALYTICS: JSON.stringify(process.env.ANALYTICS),
ANALYTICS_KEY: JSON.stringify(process.env.ANALYTICS_KEY)
}),
new webpack.LoaderOptionsPlugin({
minimize: true,
debug: false
}),
new OptimizeCSSAssetsPlugin({}),
new HtmlWebpackPlugin({
title: "AccessMap",
filename: "index.html",
template: "src/index.prod.html",
inject: false
})
]
});