• 欢迎光临~

文件系统模块3(拆分文件案例)

开发技术 开发技术 2022-10-18 次浏览
// 导入
const fs = require('fs')
const path = require('path')
// 匹配正则表达式
// 样式
const regStyle = /<style>[sS]*</style>/
// js
const regScript = /<script>[sS]*</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文件成功 ');
    })
}

  

程序员灯塔
转载请注明原文链接:文件系统模块3(拆分文件案例)
喜欢 (0)