Здравствуйте, я минимизирую css с помощью css-nano, однако он может работать только в асинхронном режиме.
Пример функции минимизации с использованием css-nano
const postcss = require("postcss");
const cssnano = require("cssnano");
const cssNanoPresetAdvanced = require("cssnano-preset-advanced");
let MINIFY_CSS = function (code) {
postcss(cssnano({ preset: cssNanoPresetAdvanced }))
.process(code)
.then(function (result) {
console.log(result.css);
});
},
использовать можно к примеру
MINIFY_CSS("html{background:green;}")
Однако проблемы начинаются когда я пытаюсь возвращать значение, а не просто выводить в консоль. Это необходимо для работоспособности цепочек кода к примеру
EXTRACT_CSS(MINIFY_CSS(require("!!raw-loader!sass-loader!./MyScss.scss")))
Моя попытка в виде
let MINIFY_CSS= function (code) {
let minified;
async () => {
await postcss(cssnano({ preset: cssNanoPresetAdvanced }))
.process(code)
.then(function (result) {
minified = result.css;
});
};
console.log(minified);
return minified;
},
Выводит undefined, что значит что значение возвращается до завершения асинхронной функции и нечего не работает...
Как я могу улучшить свой код или синхронизировать асинхронною функцию?