Плагин для извлечения текста Webpack 2 с параметрами

Я пытаюсь передать параметры загрузчику css с новой конфигурацией Webpack 2:

{
  test: /\.css$/,
  use: ExtractTextPlugin.extract({
    loader: 'css-loader',
    options: {
      minimize: {
        discardComments: {
          removeAll: true,
        }
      },
    },
  }),
},

Но варианты не работают. Что я делаю неправильно?


person Matheus Lima    schedule 03.03.2017    source источник


Ответы (1)


Minimize, похоже, не имеет параметров, с которыми вы пытаетесь его вызвать:

По умолчанию загрузчик css минимизирует css, если он указан системой модулей.

В некоторых случаях минимизация разрушает css, поэтому вы можете предоставить ему некоторые параметры. cssnano используется для минификации, и вы найдете список параметров здесь.

Вы также можете отключить или включить минимизацию с помощью параметра минимизации запроса.

{
  test: /\.css$/,
  use: [
    {
      loader: 'css-loader',
      options: {
        minimize: true || {/* CSSNano Options */}
      }
    }
  ]
}

Внутри вашего ExtractTextPlugin.extract() вы не должны использовать loader и options, а скорее use, fallback и publicPath (см. документ). Параметр use принимает те же параметры, что и параметр use самого загрузчика, поэтому в итоге у вас должно получиться что-то вроде:

{
  test: /\.css$/,
  use: ExtractTextPlugin.extract({
    fallback : 'style-loader',
    use : {
      loader: 'css-loader',
      options: {
        minimize: true || {/* CSSNano Options */}
      }
    }
  })
}

См. https://github.com/webpack-contrib/css-loader См. https://github.com/webpack-contrib/extract-text-webpack-plugin

person Iris Schaffer    schedule 13.03.2017
comment
Как это сделать с помощью плагина Extract Text? т. е. Как передать параметры в css-loader, когда мы используем плагин Extract Text вместо css-loader? - person XPD; 25.11.2017
comment
Описание use можно также использовать внутри ExtractTextPlugin.extract({}). Согласно официальной документации, требуется use и fallback: github.com/webpack- contrib/extract-text-webpack-plugin - person Iris Schaffer; 26.11.2017