注意正则表达式的运用
const fs = require('fs')
const path = require('path')
//正则 匹配style和script
//[\s\S] 表示任意字符 *表示任意次
const regStyle = /<style>[\s\S]*<\/style>/
const regScript = /<script>[\s\S]*<\/script>/
fs.readFile(path.join(__dirname, './index.html'), 'utf8', function (err, dataStr) {
if (err) return console.log(err);
console.log(dataStr);
// resloveCSS(dataStr)
resolveScript(dataStr)
})
function resloveCSS(htmlStr) {
// exec专门用来提取正则表达式
const r1 = regStyle.exec(htmlStr)
const newCSS = r1[0].replace('<style>', '').replace('</style>', '');
console.log(newCSS);
fs.writeFile(path.join(__dirname, 'index.css'), newCSS, err => {
if (err) return console.log('CSS文件写入失败:', err);
console.log('CSS文件写入成功');
});
}
function resolveScript(htmlStr) {
const r2 = regScript.exec(htmlStr)
const newScript = r2[0].replace('<script>', '').replace('</script>', '')
fs.writeFile(path.join(__dirname, 'index.js'), newScript, err => {
if (err) return console.log('JS文件写入失败', err);
console.log('js写入成功');
})
}