Я пытаюсь найти способ заполнить и префикс моего S CSS, не компилируя его в CSS. Я использую gulp с синтаксисом post css и post css -s css. Насколько я могу сказать, это ничего не делает. Я знаю, что мой файл gulp обращается к конфигу post css, потому что когда я удаляю опции конфигурации, в терминале появляется сообщение о том, что плагинов нет, но результаты одинаковы, независимо от того, есть плагины или нет.
Я знаю, используя онлайн-префиксы, что свойство внешнего вида должно иметь префикс, если все работает правильно. Приведенный ниже фрагмент полностью не изменился после выполнения моей задачи gulp.
Я попытался использовать встроенную конфигурацию для post css, а также внешний файл конфигурации, и ни один из них, похоже, не работает. Я продолжаю использовать внешний файл конфигурации, поскольку его легче читать и поддерживать.
Фрагмент из темы ..s css
.btn,
.btn-outline {
appearance: none;
display: inline-block;
margin-bottom: $unit-4;
padding: $unit-2 $unit-4;
font-size: inherit;
line-height: 1.5;
text-align: center;
text-decoration: none;
vertical-align: middle;
white-space: nowrap;
border-radius: $unit-1;
transition: background .2s, border .2s, box-shadow .2s, color .2s;
cursor: pointer;
outline: none;
user-select: none;
&:active {
transform: translateY(.125rem);
}
&:focus {
box-shadow: 0 0 0 .125rem rgba(#4B4D60, .2);
}
}
Gulp задание в стиле
const config = require('./config/style');
const { src, dest } = require('gulp');
const plumber = require('gulp-plumber');
const postcss = require('gulp-postcss');
const replace = require('gulp-replace');
const combine = require('gulp-scss-combine');
const rename = require('gulp-rename');
let task = {};
task.build = () => {
return src(config.path.src)
.pipe(plumber())
.pipe(replace(/(?<=\n\s*){{(.*?)}}|(?<=\n\s*|;\s*){%(.*?)%}/g, (match) => { return '/*' + match + '*/' }))
.pipe(replace(/(?<=:\s*){%([^;]+)%}|(?<=:\s*){{([^;]+)}}/g, (match) => { return '"' + match + '"' }))
.pipe(postcss())
.pipe(replace('/*{%', '{%'))
.pipe(replace('/*{{', '{{'))
.pipe(replace('%}*/', '%}'))
.pipe(replace('}}*/', '}}'))
.pipe(replace('"{%', '{%'))
.pipe(replace('"{{', '{{'))
.pipe(replace('%}"', '%}'))
.pipe(replace('}}"', '}}'))
.pipe(combine())
.pipe(rename(config.name))
.pipe(dest(config.path.build))
}
exports.style = task;
post css .config. js
const postcssPresetEnv = require('postcss-preset-env');
const autoprefixer = require('autoprefixer');
module.exports = {
syntax: require('postcss-scss'),
plugins: [
postcssPresetEnv({
stage: 2
})
]
}