Skip to content

Commit 678749f

Browse files
committed
Add style-loader to client-side bundling configuration. Fixes kriasoft#72
1 parent e06b788 commit 678749f

File tree

1 file changed

+34
-21
lines changed

1 file changed

+34
-21
lines changed

webpack.config.js

Lines changed: 34 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,9 @@ var update = require('react/lib/update');
1010
var argv = require('minimist')(process.argv.slice(2));
1111

1212
var DEBUG = !argv.release;
13+
var AUTOPREFIXER_LOADER = 'autoprefixer-loader?{browsers:[' +
14+
'"Android 2.3", "Android >= 4", "Chrome >= 20", "Firefox >= 24", ' +
15+
'"Explorer >= 8", "iOS >= 6", "Opera >= 12", "Safari >= 6"]}';
1316

1417
// Common configuration chunk to be used for both
1518
// client-side (app.js) and server-side (server.js) bundles
@@ -49,15 +52,11 @@ var config = {
4952
loaders: [
5053
{
5154
test: /\.css$/,
52-
loader: 'style-loader!css-loader!autoprefixer-loader?{browsers:[' +
53-
'"Android 2.3", "Android >= 4", "Chrome >= 20", "Firefox >= 24", ' +
54-
'"Explorer >= 8", "iOS >= 6", "Opera >= 12", "Safari >= 6"]}'
55+
loader: 'style-loader!css-loader!' + AUTOPREFIXER_LOADER
5556
},
5657
{
5758
test: /\.less$/,
58-
loader: 'style-loader!css-loader!autoprefixer-loader?{browsers:[' +
59-
'"Android 2.3", "Android >= 4", "Chrome >= 20", "Firefox >= 24", ' +
60-
'"Explorer >= 8", "iOS >= 6", "Opera >= 12", "Safari >= 6"]}!less-loader'
59+
loader: 'style-loader!css-loader!' + AUTOPREFIXER_LOADER +'!less-loader'
6160
},
6261
{
6362
test: /\.gif/,
@@ -87,7 +86,9 @@ var config = {
8786
// Configuration for the client-side bundle
8887
var appConfig = update(config, {
8988
entry: {$set: './src/app.js'},
90-
output: {filename: {$set: 'app.js'}},
89+
output: {
90+
filename: {$set: 'app.js'}
91+
},
9192
plugins: {
9293
$push: [
9394
new webpack.DefinePlugin({
@@ -112,14 +113,16 @@ var serverConfig = update(config, {
112113
},
113114
target: {$set: 'node'},
114115
externals: {$set: /^[a-z\-0-9]+$/},
115-
node: {$set: {
116-
console: false,
117-
global: false,
118-
process: false,
119-
Buffer: false,
120-
__filename: false,
121-
__dirname: false
122-
}},
116+
node: {
117+
$set: {
118+
console: false,
119+
global: false,
120+
process: false,
121+
Buffer: false,
122+
__filename: false,
123+
__dirname: false
124+
}
125+
},
123126
plugins: {
124127
$push: [
125128
new webpack.DefinePlugin({
@@ -129,12 +132,22 @@ var serverConfig = update(config, {
129132
})
130133
]
131134
},
132-
module: {loaders: {$apply: function(loaders) {
133-
loaders.forEach(function(loader) {
134-
loader.loader = loader.loader.replace('style-loader!', '');
135-
});
136-
return loaders;
137-
}}}
135+
module: {
136+
loaders: {
137+
$apply: function(loaders) {
138+
// Remove style-loader
139+
return loaders.map(function(loader) {
140+
return update(loader, {
141+
loader: {
142+
$apply: function(loader) {
143+
return loader.replace('style-loader!', '');
144+
}
145+
}
146+
});
147+
});
148+
}
149+
}
150+
}
138151
});
139152

140153
module.exports = [appConfig, serverConfig];

0 commit comments

Comments
 (0)