dnk

Форк
0
/
utils.js 
73 строки · 1.9 Кб
1
'use strict'
2

3
const path = require('path')
4
const config = require('../config')
5
const ExtractTextPlugin = require('extract-text-webpack-plugin')
6

7
exports.assetsPath = function (_path) {
8
  const assetsSubDirectory = process.env.NODE_ENV === 'production'
9
    ? config.build.assetsSubDirectory
10
    : config.dev.assetsSubDirectory
11
  return path.posix.join(assetsSubDirectory, _path)
12
}
13

14
exports.cssLoaders = function (options) {
15
  options = options || {}
16

17
  const cssLoader = {
18
    loader: 'css-loader',
19
    options: {
20
      minimize: process.env.NODE_ENV === 'production',
21
      sourceMap: options.sourceMap
22
    }
23
  }
24

25
  // generate loader string to be used with extract text plugin
26
  function generateLoaders (loader, loaderOptions) {
27
    const loaders = [cssLoader]
28
    if (loader) {
29
      loaders.push({
30
        loader: loader + '-loader',
31
        options: Object.assign({}, loaderOptions, {
32
          sourceMap: options.sourceMap
33
        })
34
      })
35
    }
36

37
    // Extract CSS when that option is specified
38
    // (which is the case during production build)
39
    if (options.extract) {
40
      return ExtractTextPlugin.extract({
41
        use: loaders,
42
        fallback: 'vue-style-loader'
43
      })
44
    } else {
45
      return ['vue-style-loader'].concat(loaders)
46
    }
47
  }
48

49
  // https://vue-loader.vuejs.org/en/configurations/extract-css.html
50
  return {
51
    css: generateLoaders(),
52
    postcss: generateLoaders(),
53
    less: generateLoaders('less'),
54
    sass: generateLoaders('sass', { indentedSyntax: true }),
55
    scss: generateLoaders('sass'),
56
    stylus: generateLoaders('stylus'),
57
    styl: generateLoaders('stylus')
58
  }
59
}
60

61
// Generate loaders for standalone style files (outside of .vue)
62
exports.styleLoaders = function (options) {
63
  const output = []
64
  const loaders = exports.cssLoaders(options)
65
  for (const extension in loaders) {
66
    const loader = loaders[extension]
67
    output.push({
68
      test: new RegExp('\\.' + extension + '$'),
69
      use: loader
70
    })
71
  }
72
  return output
73
}
74

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.