文件系统模块3(拆分文件案例)
// 导入 const fs = require('fs') const path = require('path') // 匹配正则表达式 // 样式 const regStyle = /<style>[\s\S]*<\/style>/ // js const regScript = /<script>[\s\S]*<\/script>/ fs.readFile(path.join(__dirname, '/拆分html.html'), 'utf8', (err, dataStr) => { if (err) return console.log('读取失败' + err.message) // 读取成功后拆分css,js,html文件 resolveCSS(dataStr) resolveJS(dataStr) resolveHTML(dataStr) }) // exec()方法:检索正则表达式的匹配方法 // 定义处理css样式的方法 function resolveCSS(htmlStr) { const r1 = regStyle.exec(htmlStr) // console.log(r1) // 将提取出来的样式进行replace替换操作 const newCSS = r1[0].replace('<style>','').replace('</style>','') // console.log(newCSS) // 调用fs.writeFile提取写入 fs.writeFile(path.join(__dirname,'/day/day3/拆分.css'),newCSS,function(err){ if(err)return console.log('写入样式失败'+err.message) console.log('写入样式文件成功 '); }) } // 定义处理js样式的方法 function resolveJS(htmlStr) { const r2 = regScript.exec(htmlStr) // console.log(r2) // 将提取出来的样式进行replace替换操作 const newJS = r2[0].replace('<script>','').replace('</script>','') // console.log(newJS) // 调用fs.writeFile提取写入 fs.writeFile(path.join(__dirname,'/day/day3/拆分.js'),newJS,function(err){ if(err)return console.log('写入js样式失败'+err.message) console.log('写入js文件成功 '); }) } // 定义处理html样式的方法 function resolveHTML(htmlStr) { const newhtml = htmlStr.replace(regStyle,'<link rel="stylesheet" href="./day/day3/拆分.css">').replace(regScript,'<script src="./day/day3/拆分.js"></script>') fs.writeFile(path.join(__dirname,'/day/day3/拆分.html'),newhtml,function(err){ if(err)return console.log('写入html失败'+err.message) console.log('写入html文件成功 '); }) }
注:fs.writeFile()方法不能创建文件夹
新方法会覆盖久方法内容
代码改变了我们,也改变了世界