-
Notifications
You must be signed in to change notification settings - Fork 1
/
webpack.config.js
73 lines (71 loc) · 1.69 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
var webpack = require('webpack');
var path = require('path');
config = {
// the entry file for the bundle
entry: [
'script!jquery/dist/jquery.min.js',
'script!bootstrap-sass/assets/javascripts/bootstrap.min.js',
'./client/src/app.jsx',
],
externals: {
jquery: 'jQuery',
},
plugins: [
new webpack.ProvidePlugin({
'$': 'jquery',
'jQuery': 'jquery'
})
],
// the bundle file we will get in the result
output: {
path: path.join(__dirname, '/client/dist/js'),
filename: 'app.js',
},
resolve: {
root: __dirname,
modulesDirectories: [
'node_modules',
'./client/src/components',
'./client/src/api'
],
extensions: ['', '.js', '.jsx']
},
module: {
// apply loaders to files that meet given conditions
loaders: [
{
test: /\.jsx?$/,
include: path.join(__dirname, '/client/src'),
exclude: /(node_modules|bower_components)/,
loader: 'babel-loader',
query: {
presets: ['react', 'es2015', 'stage-0']
}
},
{
test: /\.css|scss$/,
loader: 'style!css!sass'
},
{
test: /\.(woff|woff2)(\?v=\d+\.\d+\.\d+)?$/,
loader: 'url?limit=10000&mimetype=application/font-woff'
},
{
test: /\.ttf(\?v=\d+\.\d+\.\d+)?$/,
loader: 'url?limit=10000&mimetype=application/octet-stream'
},
{
test: /\.eot(\?v=\d+\.\d+\.\d+)?$/,
loader: 'file'
},
{
test: /\.jpg|png$/,
loader: 'file'
},
]
},
devtool: 'source-map',
// start Webpack in a watch mode, so Webpack will rebuild the bundle on changes
watch: true
};
module.exports = config;