63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			63 lines
		
	
	
	
		
			1.6 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
| var path = require('path')
 | |
| var config = require('../config')
 | |
| var sass = require('sass')
 | |
| var MiniCssExtractPlugin = require('mini-css-extract-plugin')
 | |
| 
 | |
| exports.assetsPath = function (_path) {
 | |
|   var assetsSubDirectory = process.env.NODE_ENV === 'production'
 | |
|       ? config.build.assetsSubDirectory
 | |
|       : config.dev.assetsSubDirectory
 | |
|   return path.posix.join(assetsSubDirectory, _path)
 | |
| }
 | |
| 
 | |
| exports.cssLoaders = function (options) {
 | |
|   options = options || {}
 | |
| 
 | |
|   function generateLoaders (loaders) {
 | |
|     // Extract CSS when that option is specified
 | |
|     // (which is the case during production build)
 | |
|     if (options.extract) {
 | |
|       return [MiniCssExtractPlugin.loader].concat(loaders)
 | |
|     } else {
 | |
|       return ['vue-style-loader'].concat(loaders)
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   // http://vuejs.github.io/vue-loader/configurations/extract-css.html
 | |
|   return [
 | |
|     {
 | |
|       test: /\.(post)?css$/,
 | |
|       use: generateLoaders(['css-loader', 'postcss-loader']),
 | |
|     },
 | |
|     {
 | |
|       test: /\.less$/,
 | |
|       use: generateLoaders(['css-loader', 'postcss-loader', 'less-loader']),
 | |
|     },
 | |
|     {
 | |
|       test: /\.sass$/,
 | |
|       use: generateLoaders([
 | |
|         'css-loader',
 | |
|         'postcss-loader',
 | |
|         {
 | |
|           loader: 'sass-loader',
 | |
|           options: {
 | |
|             indentedSyntax: true
 | |
|           }
 | |
|         }
 | |
|       ])
 | |
|     },
 | |
|     {
 | |
|       test: /\.scss$/,
 | |
|       use: generateLoaders(['css-loader', 'postcss-loader', 'sass-loader'])
 | |
|     },
 | |
|     {
 | |
|       test: /\.styl(us)?$/,
 | |
|       use: generateLoaders(['css-loader', 'postcss-loader', 'stylus-loader']),
 | |
|     },
 | |
|   ]
 | |
| }
 | |
| 
 | |
| // Generate loaders for standalone style files (outside of .vue)
 | |
| exports.styleLoaders = function (options) {
 | |
|   return exports.cssLoaders(options)
 | |
| }
 | 
