//1.1导入fs模块
const fs = require('fs')
//1.2导入path模块
const path = require('path')
//1.3定义正则表达式
const regStyle = /<style>[\s\S]*<\/style>/
const regScript= /<script>[\s\S]*<\/script>/
//2.1 调用fs.readFile()读取文件
fs.readFile(path.join(__dirname,'file\\index.html'),'utf8',function(err,dataStr){
if(err){
return console.log('读取失败!'+err.message)
}
/* console.log(dataStr) */
resolveCSS(dataStr)//写入CSS文件
resolveHtml(dataStr)//写入HTML文件
resolveScript(dataStr)//写入JS文件
})
//3.1 处理css样式
function resolveCSS(htmlStr){
const s1=regStyle.exec(htmlStr)
const newCSS=s1[0].replace('<style>','').replace('</style>','')
fs.writeFile(path.join(__dirname,'clock.css'),newCSS,function(err){
if(err){
return console.log('写入失败CSS样式!'+err.message)
}
console.log('写入样式文件成功!')
})
}
function resolveScript(htmlStr){
const s1=regScript.exec(htmlStr)
const newStr=s1[0].replace('<script>','').replace('</script>','')
fs.writeFile(path.join(__dirname,'clockp1.js'),newStr,function(err){
if(err){
return console.log('写入脚本文件失败!'+err.message)
}
console.log('success!')
})
}
function resolveHtml(htmlStr){
const newHTML=htmlStr.replace(regStyle,'<link rel="stylesheet" href="clock.css">').replace(regScript,'<script src="clockp1.js"></script>')
fs.writeFile(path.join(__dirname,'Newclock.html'),newHTML,function(err){
if(err){
return console.log('写入HTML文档失败'+err.message)
}
console.log('写入HTML文档成功!')
})
}
Node.js时钟案例
于 2022-04-23 20:49:19 首次发布