1 var path
= require('path')
2 var config
= require('../config')
3 var ExtractTextPlugin
= require('extract-text-webpack-plugin')
5 exports
.assetsPath = function (_path
) {
6 var assetsSubDirectory
= process
.env
.NODE_ENV
=== 'production'
7 ? config
.build
.assetsSubDirectory
8 : config
.dev
.assetsSubDirectory
9 return path
.posix
.join(assetsSubDirectory
, _path
)
12 exports
.cssLoaders = function (options
) {
13 options
= options
|| {}
18 minimize
: process
.env
.NODE_ENV
=== 'production',
19 sourceMap
: options
.sourceMap
23 // generate loader string to be used with extract text plugin
24 function generateLoaders (loader
, loaderOptions
) {
25 var loaders
= [cssLoader
]
28 loader
: loader
+ '-loader',
29 options
: Object
.assign({}, loaderOptions
, {
30 sourceMap
: options
.sourceMap
35 // Extract CSS when that option is specified
36 // (which is the case during production build)
37 if (options
.extract
) {
38 return ExtractTextPlugin
.extract({
40 fallback
: 'vue-style-loader'
43 return ['vue-style-loader'].concat(loaders
)
47 // https://vue-loader.vuejs.org/en/configurations/extract-css.html
49 css
: generateLoaders(),
50 postcss
: generateLoaders(),
51 less
: generateLoaders('less'),
52 sass
: generateLoaders('sass', { indentedSyntax
: true }),
53 scss
: generateLoaders('sass'),
54 stylus
: generateLoaders('stylus'),
55 styl
: generateLoaders('stylus')
59 // Generate loaders for standalone style files (outside of .vue)
60 exports
.styleLoaders = function (options
) {
62 var loaders
= exports
.cssLoaders(options
)
63 for (var extension
in loaders
) {
64 var loader
= loaders
[extension
]
66 test
: new RegExp('\\.' + extension
+ '$'),