-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack_prod_config.js
49 lines (47 loc) · 1.36 KB
/
webpack_prod_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
var path = require('path');
var node_modules = path.resolve(__dirname, 'node_modules');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var config = {
entry: path.resolve(__dirname, 'src/app/main.jsx'),
output: {
path: 'build/prod',
filename: './app.js'
},
plugins: [
new webpack.DefinePlugin({ "process.env": JSON.stringify(process.env)}),
new HtmlWebpackPlugin({
inject: true,
template: path.resolve(__dirname, 'build/prod/index-template.html')
}),
],
module: {
loaders: [
{ test: /\.jsx?$/,
exclude: [node_modules],
loader: 'babel' },
{
test: /\.css$/,
loader: 'style-loader!css-loader!postcss-loader'
},
{ test: /\.less$/,
loader: 'style-loader!css-loader!postcss-loader!less-loader' },
{
test: /\.(eot|ttf|woff|woff2|svg|svgz)($|\?)/,
loader: 'file'
},
{ test: /\.xml$/,
loader: 'xml-loader' },
{ test: /\.(jpe?g|png|gif)$/i,
loaders: [
'file?hash=sha512&digest=hex&name=[hash].[ext]',
'image-webpack?bypassOnDebug&optimizationLevel=7&interlaced=false']},
{ test: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
loader: "url?limit=10000&minetype=image/svg+xml" }
]
},
resolve: {
extensions: ['', '.js', '.jsx']
}
};
module.exports = config;