Не могу записать файл в папку dist с помощью Promise, catch и gulp - PullRequest
0 голосов
/ 20 марта 2020

Я сопоставляю индекс. 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);
         }
})();}}

1 Ответ

0 голосов
/ 23 марта 2020

Я создал папку css и js внутри папки ./dist, и код работал как чудо. Кроме этого, сообщение об ошибке появляется в консоли.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...