-
Notifications
You must be signed in to change notification settings - Fork 3
/
webpack.config.js
122 lines (117 loc) · 3.17 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
109
110
111
112
113
114
115
116
117
118
119
120
121
var
webpack = require('webpack'),
path = require('path'),
dedupe = new webpack.optimize.DedupePlugin(),
dir = path.resolve(__dirname,'dist');
module.exports = [
];
config('var',''),
config('commonjs2'),
config('amd'),
config('umd')
//demo
//("scroll");
//function demo (target) {
//module.exports.push({
//'entry' : {
//'app' : ["./demos/"+target+".js"]
//},
//'output' : {
//'path' : dir,
//'filename' : "/demo_bundles/" + target +'.bundle.js'
//},
//'externals' : {
//'react' : 'React',
//'react-dom' : 'ReactDOM'
//},
//'module' : {
//'loaders' : [{
//'test' : /\.jsx?$/,
//'loader' : 'babel-loader',
//'exclude' : /node_modules/,
//'query' : {
//'presets' : ['react']
//}
//}]
//}
//});
//return demo;
//}
function config (target,optionalName) {
optionalName = optionalName !== '' ? ('.'+(optionalName || target)) : '';
module.exports.push({
'entry' : {
'app' : ['./libs/index.js']
},
'output' : {
'path' : dir,
'library' : 'poppy',
'libraryTarget' : target,
'filename' : 'poppy'+optionalName +'.js'
},
'externals': {
'react': {
'root': 'React',
'commonjs2': 'react',
'commonjs': 'react',
'amd': 'react',
'umd' : 'react'
},
'react-dom': {
'root': 'ReactDOM',
'commonjs2': 'react-dom',
'commonjs': 'react-dom',
'amd': 'react-dom',
'umd' : 'react-dom'
}
},
'module' : {
'loaders' : [{
'test' : /\.jsx?$/,
'loader' : 'babel-loader',
'exclude' : /node_modules/,
'query' : {
'presets' : ['react','es2015']
}
}]
}
});
module.exports.push({
'entry' : {
'app' : ['./libs/index.js']
},
'output' : {
'path' : dir,
'library' : 'poppy',
'libraryTarget' : target,
'filename' : 'poppy'+optionalName+'.min.js'
},
'externals': {
'react': {
'root': 'React',
'commonjs2': 'react',
'commonjs': 'react',
'amd': 'react'
},
'react-dom': {
'root': 'ReactDOM',
'commonjs2': 'react-dom',
'commonjs': 'react-dom',
'amd': 'react-dom'
}
},
'module' : {
'loaders' : [{
'test' : /\.jsx?$/,
'loader' : 'babel-loader',
'exclude' : /node_modules/,
'query' : {
'presets' : ['es2015','react']
}
}]
},
'plugins' : [
new webpack.optimize.UglifyJsPlugin({minimize:true})
]
});
}