Я сопоставляю индекс. html файл, чтобы удалить содержимое тега и сохранить как файл с именем шрифты. css
Это мой стиль:
<style>@font-face{font-family:Averti;src:url(https://services.serving-sys.com/HostingServices/custdev/site-140253/Averti/Averti-Bold.woff) format('truetype');font-weight:700;font-style:normal}@font-face{font-family:Averti-Light;src:url(https://services.serving-sys.com/HostingServices/custdev/site-140253/Averti_Webfonts/Averti-Light.woff) format('truetype');font-weight:400;font-style:normal}</style>
С этой функцией нет серьезных ошибок, но console.log показывает мне, что {[Ошибка: ENOENT: нет такого файла или каталога, откройте './dist/css/fonts.css'] errno: -2, код: 'ENOENT', syscall: 'open', путь: './dist/css/fonts.css'}
Я не уверен, правильно ли это, поскольку файл даже не создан пока.
Посмотрите мою функцию ниже и дайте мне знать, что мне не хватает.
Заранее спасибо.
async function createStyle(){
var jsonObject = []
setTimeout(function(){
fs.readFile('./dist/index.html', 'utf8', function(err, html){
if (!err){
const $ = cheerio.load(html)
var cssScript = $('head > style').map(( i, x ) => x.children[0])
.filter(( i, x ) => x && x.data.match(/@font-face/)).get(0);
jsonObject.push(cssScript)
exportStyle(jsonObject)
}
})}, 2000);
async function exportStyle(_json) {
const stylePromise = new Promise(function(resolve, reject) {
fs.writeFile('./dist/css/fonts.css', _json, err => {
if (err) {
reject();
} else {
resolve();
console.log('Created: fonts.css');
}
console.log(err);
});
});
(async function() {
try {
await stylePromise;
} catch(err) {
console.log(err);
}
})();}}