PostCSS CSSNext @media и color() не работают с webpack 2

Я обновляю проект с веб-пакета 1 до 2 и наблюдаю странное поведение с postcss-cssnext, когда некоторые функции css next, в первую очередь функции color(), и все мои запросы @media просто больше не работают.

Моя конфигурация веб-пакета с веб-пакетом 2 выглядит так. Что я здесь делаю неправильно?

{ 
  test: /\.css$/,
  use: [
    { 
      loader: 'style-loader' 
    },
    {
      loader: 'css-loader',
      options: {
        localIndentName: 'localIdentName=[name]__[local]___[hash:base64:5]',
        sourceMap: true,
        modules: true,
        importLoaders: 1
      }
    },
    {
      loader: 'postcss-loader',
      options: {
        plugins: [
          postcssImport({ path: './app/css/common' }),
          postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
          postcssReporter({ clearMessages: true })
        ]
      }
    }
  ]
}

person nicholas    schedule 18.04.2017    source источник


Ответы (1)


postcss-loader, вероятно, ответственен за это изменение (1.3.x). Согласно документу, вы должны использовать функцию для опции «плагины». Или используйте массив, но в файле postcss.config.js.

module.exports = {
  module: {
    rules: [
      {
        test: /\.css/,
        use: [
          …
          {
            loader: 'postcss-loader',
            options: {
              plugins: function () {
                return [
                  postcssImport({ path: './app/css/common' }),
                  postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
                  postcssReporter({ clearMessages: true })
                ];
              }
            }
          }
        ]
      }
    ]
  }
}

Или через postcss.config.js

module.exports = {
  plugins: [
    postcssImport({ path: './app/css/common' }),
    postcssCssnext({ browsers: ['> 1%', 'last 2 versions'] }),
    postcssReporter({ clearMessages: true })
  ]
}

(и в вебпаке)

module.exports = {
  module: {
    rules: [
      {
        test: /\.css/,
        use: [
          …
          'postcss-loader',
        ]
      }
    ]
  }
}
person MoOx    schedule 19.04.2017