In some Webpack examples, you see reference to a "rules" array:
module.exports = { module: { rules: [ { test: /\.scss$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', //resolve-url-loader may be chained before sass-loader if necessary use: ['css-loader', 'sass-loader'] }) } ] }, plugins: [ new ExtractTextPlugin('style.css') //if you want to pass in options, you can do so: //new ExtractTextPlugin({ // filename: 'style.css' //}) ] }
(https://github.com/webpack-contrib/extract-text-webpack-plugin)
And in other, a loaders array:
var ExtractTextPlugin = require("extract-text-webpack-plugin"); module.exports = { module: { loaders: [ { test: /\.css$/, loader: ExtractTextPlugin.extract({ loader: "css-loader" }) }, { test: /\.png$/, loader: "file-loader" } ] }, plugins: [ new ExtractTextPlugin({ filename: "style.css", allChunks: true }) ] };
(https://github.com/webpack/webpack/tree/master/examples/css-bundle)
What is the difference? Which should be used?