У меня возникли проблемы с конвертированием моей конфигурации webpack с использованием устаревших cssnext и cssnext-loader для postcss-cssnext и postcss-loader. Состояние Doc ясно, что функциональность, которую я пытаюсь воссоздать, была делегирована для работы с определенными плагинами, но я не могу заставить ее работать. Одним из примеров этого является переменные css.Преобразование из cssnext в postcss-cssnext в webpack
Мой текущий рабочий WebPack конфигурации, как так:
... импорт плагин
var cssnext = require('cssnext');
var autoprefixer = require('autoprefixer');
var customMedia = require("postcss-custom-media");
... Загрузчик конфигурации
module: {
loaders: [{
test: /\.css$/,
loader: "style-loader!css-loader!postcss-loader!cssnext-loader",
include: path.join(__dirname, 'src')
}]
},
... postcss config
postcss: function() {
return [customMedia(), cssnext(), autoprefixer()];
}
Проблема:
я сменил мой cssnext импорт, чтобы указать на новый модуль postcss-cssnext и добавил теперь требуется модуль для обработки моих CSS переменных (postcss-пользовательские свойства). Я также удалил cssnext-загрузчик и предполагаю, что postcss-loader может обрабатывать вещи ???
... плагин импорта
var cssnext = require('postcss-cssnext');
var autoprefixer = require('autoprefixer');
var customMedia = require("postcss-custom-media");
var customProperties = require('postcss-custom-properties');
... Загрузчик конфигурации
module: {
loaders: [{
test: /\.css$/,
loader: "style-loader!css-loader!postcss-loader",
include: path.join(__dirname, 'src')
}]
},
... postcss конфигурации
postcss: function() {
return [customMedia(), cssnext(), customProperties(), autoprefixer()];
}
Я вижу, что все мои стили отображаются на странице, но нет из css vars были оценены. Центральная проблема, похоже, связана с использованием «cssnext-loader». Если я добавлю его обратно, переменные будут работать. Я играл с postcss-импортом и различными итерациями конфигурации, но ничего не работает. Кто-нибудь знает, что я делаю неправильно? Как я могу получить переменные postcss-cssnext, postcss-loader, css и webpack для совместной работы?
Ваша текущая конфигурация просто избыточна. Если вы используете cssnext-loader, плагины, которые вы используете в postcss-loader, являются просто дубликатами (ну, truplicates для customMedia и autoprefixer, которые включены cssnext в качестве плагина, а также cssnext-loader ...) – MoOx
Итак, если Я хочу, чтобы пользовательские носители, переменные css и автоматическое префикс. Мне нужно использовать только postcss-loader, поскольку я нахожусь в моем втором примере и только customProperties? Если это так, я уже пробовал это вместе с рядом других конфигураций (слишком много, чтобы перечислять здесь). В качестве примечания я использую оператор @import в основном файле css. Это касается моей игры с postcss-импортом. – Kevin