const ExtractTextPlugin = require('extract-text-webpack-plugin') const { env } = require('../configuration.js')
// Change it to false if you prefer Vue styles to be inlined by javascript in runtime const extractStyles = false
const cssLoader = [
{ loader: 'css-loader', options: { minimize: env.NODE_ENV === 'production' } }, { loader: 'postcss-loader', options: { sourceMap: true } }, 'resolve-url-loader'
] const sassLoader = cssLoader.concat([
{ loader: 'sass-loader', options: { sourceMap: true, indentedSyntax: true } }
]) const scssLoader = cssLoader.concat([
{ loader: 'sass-loader', options: { sourceMap: true } }
])
function vueStyleLoader(loader) {
if (extractStyles) { return ExtractTextPlugin.extract({ fallback: 'vue-style-loader', use: loader }) } return ['vue-style-loader'].concat(loader)
}
module.exports = {
test: /\.vue$/, loader: 'vue-loader', options: { loaders: { js: 'babel-loader', file: 'file-loader', css: vueStyleLoader(cssLoader), scss: vueStyleLoader(scssLoader), sass: vueStyleLoader(sassLoader) } }
}