// critical css gulp.task('generate-critical', function () { return new Promise(function (resolve, reject) { (async () => { const pages = [ // 404 page is static { slug: 'home', url: 'http://localhost:3001/' }, ]; const browser = await puppeteer.launch({ //headless: false, ignoreHTTPSErrors: true, args: [ "--incognito", '--disable-web-security', '--no-sandbox', '--allow-insecure-localhost' ] }); var pageHTML = []; for (let i = 0; i < pages.length; i++) { var url = pages[i].url; const [page] = await browser.pages(); await page.setViewport({ width: 1920, height: 1080 }); try { await page.goto(`${url}`, { waitUntil: 'networkidle2' }); currentHTML = await page.content(); if (currentHTML != null) { pageHTML.push(currentHTML); console.log('Html oluşturuldu : ' + pages[i].slug); } else { cconsole.log('Html oluşturma başarısız : ' + pages[i].slug); } } catch (err) { console.log(err); } } await browser.close(); await generateCss().then(function () { console.log("Critical css & Uncritical css işlemleri tamamlandı") }); function createDirIfNotExist(path) { if (!fs.existsSync(path)) { return fs.mkdirSync(path); } } async function generateCss() { createDirIfNotExist(`${__dirname}/criticalcss_temp/`); for (let i = 0; i < pageHTML.length; i++) { fs.writeFileSync(`${__dirname}/criticalcss_temp/temp.html`, pageHTML[i], { flag: 'w' }); await critical.generate({ base: `${__dirname}/app/views/criticalcss_temp`, src: 'temp.html', css: [`${__dirname}/app/public/css/head.css`, `${__dirname}/app/public/css/${pages[i].slug}.css`], minify: true, inline: false, dimensions: [{ height: 375, width: 812 }, { height: 1080, width: 1920 } ], target: { css: `${__dirname}/critical/${pages[i].slug}-critical.html`, uncritical: `${__dirname}uncritical/${pages[i].slug}-uncritical.css`, } }).then(function () { console.log(`\n \n ${pages[i].slug}-critical.html & ${pages[i].slug}-uncritical.css oluşturuldu \n \n`); }); } } })(); resolve(); }); });