const fs = require('fs');
let txt = fs.readFileSync('./test.html','utf8');
// console.log(txt);
const reg=/style\s*?=\s*?(['"])[\s\S]*?\1/g;
const regResult = txt.match(reg)
const regSet = new Set(regResult)
// console.log(regSet)
let index = 0
let resultStyle = `<style>`
let className=''
let styleContent = ''
for(let style of regSet){
index++
// console.log(style)
className = `my-class-${index}`
txt = txt.replace(new RegExp(style,'g'),`class="${className}"`)
styleContent = style.substring(0, style.length - 1).replace(/style="/g,"");
resultStyle+=`.${className}{${styleContent}} `
}
resultStyle+=`</style>`
const data = '\ufeff'+resultStyle+txt
fs.writeFileSync('output.html', data,'utf-8');
console.log('生成文件成功---output.html')
node 提取html中相同的内联style到class
最新推荐文章于 2024-01-17 17:58:16 发布