Nuxt/lib/webpack/vue-loader.config.js

31 lines
1002 B
JavaScript
Raw Normal View History

'use strict'
2017-01-11 19:14:59 +00:00
import { defaults } from 'lodash'
import { extractStyles, styleLoader } from './helpers'
2016-12-13 16:39:59 +00:00
2017-01-11 19:14:59 +00:00
export default function ({ isClient }) {
2016-12-13 16:39:59 +00:00
let babelOptions = JSON.stringify(defaults(this.options.build.babel, {
2017-02-17 15:13:51 +00:00
presets: ['vue-app'],
2017-04-17 13:27:32 +00:00
babelrc: false,
2017-02-17 15:13:51 +00:00
cacheDirectory: !!this.dev
2016-12-13 16:39:59 +00:00
}))
// https://github.com/vuejs/vue-loader/blob/master/docs/en/configurations
let config = {
2016-11-22 23:47:31 +00:00
postcss: this.options.build.postcss,
loaders: {
2016-12-13 16:37:53 +00:00
'js': 'babel-loader?' + babelOptions,
'css': styleLoader.call(this, 'css'),
'less': styleLoader.call(this, 'less', 'less-loader'),
'sass': styleLoader.call(this, 'sass', 'sass-loader?indentedSyntax'),
'scss': styleLoader.call(this, 'sass', 'sass-loader?sourceMap'),
'stylus': styleLoader.call(this, 'stylus', 'stylus-loader'),
'styl': styleLoader.call(this, 'stylus', 'stylus-loader')
},
preserveWhitespace: false,
2017-05-05 15:53:21 +00:00
extractCSS: extractStyles.call(this)
2016-11-07 01:34:58 +00:00
}
// Return the config
return config
2016-11-07 01:34:58 +00:00
}