Заставить postcss работать с jss материала - PullRequest
0 голосов
/ 06 марта 2019

Я столкнулся с этой проблемой, используя пользовательский интерфейс материала: для создания моего приложения, которое работает в некоторых старых браузерах, необходимо использовать префикс css, например:

display:flex;

То, что я хочу после упаковки, должно добавить некоторую совместимость автоматически:

display: -webkit-box;
display: -webkit-flex;
display: -ms-flexbox;
display: flex;

и мой CSS создан следующим образом:

import { withStyles } from '@material-ui/core';
const styles={
        root:{
              display:flex
          }
    }

export default withStyles(styles)(APP)

Кто-нибудь знает, как заставить это работать?

1 Ответ

0 голосов
/ 29 апреля 2019

Вам необходимо сконфигурировать ваш postcss, создав файл postcss.config.js в корне проекта и определив экспорт

module.exports = {
  plugins: [
    require("postcss-easy-import")({ prefix: "_" }), // keep this first
    require('cssnano')({
      preset: 'default',
    }),
    require("autoprefixer")({
      browsers: [
        '>1%',
        'last 4 versions',
        'Firefox ESR',
        'not ie < 9',
      ]
    })
]};

Убедитесь, что в вашей конфигурации webpack есть правила для сообщений:

{
  test: /\.css$/,
  use: ["babel-loader", "raw-loader", "postcss-loader"]
},
{
  test: /\.s(a|c)ss$/,
  use: [
    "babel-loader", "raw-loader", "postcss-loader",
    {
      loader: "sass-loader",
      options: {
        includePaths: ["your/src/scss/style/file/location", "node_modules"]
          .map(d => require('path').join(__dirname, d))
          .map(g => require('glob').sync(g))
          .reduce((a, c) => a.concat(c), [])
      }
    }
  ]
}

Я надеюсь, что это работает для вас.

...