Я столкнулся с этой проблемой, используя материальный пользовательский интерфейс: для создания моего приложения, которое работает в некоторых старых браузерах, 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)
Кто-нибудь знает, как заставить его работать?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам нужно настроить свой 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), [])
}
}
]
}
Я надеюсь, что это работает для вас.
Я не вижу возможности применить здесь postcss-загрузчик, так как он срабатывает только для файлов css|scss, а файл OPs имеет расширение
.js.