-
Notifications
You must be signed in to change notification settings - Fork 11
/
webpack.config.js
108 lines (98 loc) · 2.75 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
102
103
104
105
106
107
108
const path = require("path");
const webpack = require('webpack');
const BundleTracker = require('webpack-bundle-tracker');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
context: __dirname,
entry: './assets/client/src/index.js', // entry point of our app.
output: {
path: path.resolve('./assets/bundles/'),
filename: "[name]-[hash].js"
},
plugins: [
new BundleTracker({
filename: './webpack-stats.json'
}),
new ExtractTextPlugin("styles.css")
],
module: {
rules: [
{
test: /\.jsx?$/, // to transform JSX into JS
exclude: /node_modules/,
loader: 'babel-loader',
query :{
presets:['react','es2015']
}
},
//{
// test: /\.less?$/,
// use: [{
// loader: "style-loader"
// }, {
// loader: "css-loader"
// }, {
// loader: "less-loader", options: {
// strictMath: true,
// noIeCompat: true
// }
// }]
//},
{
test: /\.less$/i,
use: ExtractTextPlugin.extract(['css-loader', 'less-loader'])
},
{
test: /\.css?$/,
use: ExtractTextPlugin.extract({
fallback: "style-loader",
use: "css-loader"
})
},
{
test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'url-loader?limit=10000&mimetype=application/font-woff'
},
{
test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/,
loader: 'file-loader'
},
//{
// test: /\.(eot|ttf|woff2?|otf|svg|png|jpg)$/,
// loaders: ['file-loader']
//},
//{ test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "file-loader" },
//{ test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "file-loader" },
// font-awesome icons
// the url-loader uses DataUrls.
// the file-loader emits files.
//{ test: /\.woff(2)?(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "url-loader?limit=10000&mimetype=application/font-woff" },
//{ test: /\.(ttf|eot|svg)(\?v=[0-9]\.[0-9]\.[0-9])?$/, loader: "file-loader" }
//{
// test: /\.woff(\?v=\d+\.\d+\.\d+)?$/,
// loader: "url?limit=10000&mimetype=application/font-woff"
//}, {
// test: /\.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: /\.svg(\?v=\d+\.\d+\.\d+)?$/,
// loader: "url?limit=10000&mimetype=image/svg+xml"
//}
//{ test: /\.(jpg|png|woff|woff2|eot|ttf|svg)$/, loader: 'file-loader?name=[path][name].[ext]?[hash]' },
//{
// test: /\.(woff(2)?|ttf|eot|svg)(\?v=\d+\.\d+\.\d+)?$/,
// loader: 'url?limit=10000',
//}
]
},
resolve: {
modules: ['node_modules', 'bower_components'],
extensions: ['.js', '.jsx']
}
};