将HTML拆分为外链式
- 获取
CSS
和JS
的内容
- 将
CSS
和JS
分别写入到新文件中
- 在原来的
HTML
文件去掉CSS
和JS
的内容
- 添加
CSS
和JS
外链
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57
| const fs = require ("fs") const path = require ("path")
const regStyle = /<style>[\s\S]*<\/style>/ const regScript = /<script>[\s\S]*<\/script>/
fs.readFile(path.join(__dirname,"./johou.html"),function(err,data){ if (err){ return console.error(err) } resolveCSS(data) resolveJS(data) resolveHTML(data) })
function resolveCSS(css){ var data=regStyle.exec(css) var newdata= data[0].replace("<style>"," ").replace("</style>"," ") fs.writeFile(path.join(__dirname,"./test/index.css"),newdata,function(err){ if (err){ return console.error(err) } console.log("写入css成功") }) }
function resolveJS(js){ var data= regScript.exec(js) var newdata= data[0].replace("<script>"," ").replace("</script>"," ") fs.writeFile(path.join(__dirname,"./test/index.js"),newdata,function(err){ if (err){ return console.error(err) } console.log("写入js成功") }) }
function resolveHTML(html){ var newdata = html.toString().replace(regScript,'<script src="./test/index.js"></script>').replace(regStyle,'<style rel="stylesheel" href="./test/index.css"></script>') fs.writeFile(path.join(__dirname,"./test/index.html"),newdata,function(err){ if (err){ return console.error(err) } console.log("写入html成功") }) }
|
总结
在方法之间进行传参的时候,传输的数据会变成Buffer,在使用的时候需要将数据用toString()转换成字符串类型。
易错点