-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.config.js
101 lines (80 loc) · 1.71 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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
var UglifyJsPlugin = require('uglifyjs-webpack-plugin');
var path = require('path');
module.exports = {
entry: {
"demo": [
"app/entry.js"
]
},
output: {
path: path.resolve(__dirname, "js"),
filename: "bundle.js"
},
devtool: 'source-map',
module: {
rules: [
{
test: /\.(glsl|vs|fs|frag)$/,
use: [{
loader: 'shader-loader'
}]
},
{
test: /twgl\.js$/,
use: [{
loader: 'exports?twgl!imports?polyfills/raf, polyfills/performance'
}]
},
{
test: /twgldemo\.js$/,
use: [{
loader: 'exports?TWGLDemo!imports?twgl'
}]
},
{
test: /detector\.js$/,
use: [{
loader: 'exports?Detector'
}]
},
{
test: /rstats\.js$/,
use: [{
loader: 'exports?rStats'
}]
}
]
},
resolve: {
modules: [
path.resolve(__dirname, "js"),
"node_modules"
],
extensions: [".js", ".glsl", ".css"],
alias: {
"domready": "lib/require/domReady",
"raf": "lib/raf",
"twgldemo": "lib/TWGLDemo",
"datgui": "lib/dat.gui.min",
"twgl": "lib/twgl.min",
"detector": "lib/Detector",
"rstats": "lib/rStats"
}
},
devServer: {
contentBase: path.join(__dirname, '.'), // boolean | string | array, static file location
compress: true, // enable gzip compression
historyApiFallback: true, // true for index.html upon 404, object for multiple paths
hot: true, // hot module replacement. Depends on HotModuleReplacementPlugin
https: true, // true for self-signed, object for cert authority
noInfo: true, // only errors & warns on hot reload
port:9090
},
watch: false,
plugins: [
new UglifyJsPlugin({
sourceMap: true,
warnings: true
})
]
}