gpt4 book ai didi

google-chrome-devtools - Chrome开发者工具覆盖范围: how to save or capture code used code?

转载 作者:行者123 更新时间:2023-12-03 07:34:59 24 4
gpt4 key购买 nike

覆盖率工具擅长查找已使用和未使用的代码。但是,似乎没有办法仅保存或导出使用的代码。甚至隐藏未使用的代码也会有所帮助。

我正在尝试减少应用程序中 Bootstrap CSS 的数量;该文件有7000多行。获取所用代码的唯一方法是仔细滚动文件,查找绿色部分,然后将该代码复制到新文件中。它既耗时又不可靠。

还有其他方法吗? Chrome 60好像没有添加这个功能。

最佳答案

你可以用 puppeteer 来做到这一点

(async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage()

//Start sending raw DevTools Protocol commands are sent using `client.send()`
//First off enable the necessary "Domains" for the DevTools commands we care about
const client = await page.target().createCDPSession()
await client.send('Page.enable')
await client.send('DOM.enable')
await client.send('CSS.enable')

const inlineStylesheetIndex = new Set();
client.on('CSS.styleSheetAdded', stylesheet => {
const { header } = stylesheet
if (header.isInline || header.sourceURL === '' || header.sourceURL.startsWith('blob:')) {
inlineStylesheetIndex.add(header.styleSheetId);
}
});

//Start tracking CSS coverage
await client.send('CSS.startRuleUsageTracking')

await page.goto(`http://localhost`)
// const content = await page.content();
// console.log(content);

const rules = await client.send('CSS.takeCoverageDelta')
const usedRules = rules.coverage.filter(rule => {
return rule.used
})

const slices = [];
for (const usedRule of usedRules) {
// console.log(usedRule.styleSheetId)
if (inlineStylesheetIndex.has(usedRule.styleSheetId)) {
continue;
}

const stylesheet = await client.send('CSS.getStyleSheetText', {
styleSheetId: usedRule.styleSheetId
});

slices.push(stylesheet.text.slice(usedRule.startOffset, usedRule.endOffset));
}

console.log(slices.join(''));

await page.close();
await browser.close();
})();

关于google-chrome-devtools - Chrome开发者工具覆盖范围: how to save or capture code used code?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106841/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com