//导入fs模块
const fs = require('fs')
//导入path模块
const path = require('path')//匹配style标签的正则
// \s表示空白字符, \S表示非空白字符
const regStyle = /<style>[\s\S]*<\/style>/
const regScript = /<script>[\s\S]*<\/script>///读取要被处理的html文件
fs.readFile(path.join(__dirname,'./index.html'),'utf-8',function(err,dataStr){//读取html文件失败if(err){return console.log('读取HTML文件失败'+err.message)}//读取html文件成功, 调用对应方法,拆解出css,js,html文件// resolveCSS(dataStr)// resolveHTML(dataStr)resolveJS(dataStr)
})//处理CSS样式
function resolveCSS(htmlStr){//使用正则提取页面中的<style></style>标签const r1 = regStyle.exec(htmlStr)//将提取出来的样式字符串做进一步处理const newCSS= r1[0].replace('<style>','').replace('</style>','')// console.log(newCSS)//将提取出来的css样式, 写入index.css文件中fs.writeFile(path.join(__dirname,'./index.css'),newCSS,function(err){if(err){return console.log('写入css样式失败!'+err.message)}console.log('写入css样式成功')})
}//处理JS脚本
function resolveJS(htmlStr){//使用正则表达式提取页面的<script></script>标签const r2 = regScript.exec(htmlStr)//将提取出来的样式字符串做进一步处理const newJavascript = r2[0].replace('<script>','').replace('</script>','')console.log(newJavascript)//将提取出来的javascript脚本, 写入index.js文件中fs.writeFile(path.join(__dirname,'./index.js'),newJavascript,function(err){if(err){return console.log('写入JavaScript失败'+ err.message)}console.log('写入JavaScript成功')})
}

node.js案例:抽出特定的文件相关推荐

  1. node.js实现formdata上传文件

    node.js实现formdata上传文件 1.关于formdata XMLHttpRequest Level 2 添加了一个新的接口--FormData.利用 FormData 对象,我们可以通过 ...

  2. Node.js 在本地生成日志文件

    文章目录 Node.js 在本地生成日志文件 1.前言 2.什么是 fs 3.new console.Console(stdout, stderr, ignoreErrors) 4.node.js 生 ...

  3. 使用Node.js express 开发上传文件/图片api接口

    我是傲夫靠斯,欢迎关注我的公众号[前端工程师的自我修养],每天更新. 今天我们来搞一个Node.js Express的上传文件功能,我使用了busboy这个库. Busboy是一个基于事件的文件流解析 ...

  4. [转]为什么我要用 Node.js? 案例逐一介绍

    原文地址:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...

  5. 为什么我要用 Node.js? 案例逐一介绍

    介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端, ...

  6. Node.js实现服务器端生成Excel文件(xls格式、xlsx格式文件)并弹出下载文件

    注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...

  7. node.js 中的package.json文件怎么创建?

    最近在用webstorm和nodejs做一些东西,老是各种混乱,今天上午创建一个新的项目,结果发现,npm init之后,并没有出现package.json,并没有太明确他的功能的小姑娘表示十分的惊慌 ...

  8. Node.js新手教程——怎样实现文件上传功能

    作者:zhanhailiang 日期:2014-11-16 本文将介绍怎样使用Node.js实现文件上传功能. 1. 初始化项目信息:npm init [root@~/wade/nodejs/node ...

  9. node.js学习笔记之写文件

    node.js之写文件 //---------------optfile.js------------------ var  fs=  require('fs'); module.exports={ ...

最新文章

  1. Linux 服务器日志文件查找技巧精粹
  2. termux python 打开摄像头_【图片】将termux打造成合格的python环境(假装是教程贴)_termux吧_百度贴吧...
  3. 解决argo workflow报错:MountVolume.SetUp failed for volume “docker-sock“ : hostPath type check failed
  4. 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...
  5. [C++][IO]读写二进制文件
  6. 【Cocos2dX(2.x)_Lua开发之三】
  7. siege4安装和使用介绍
  8. 卷积码主要是对抗_【零基础学会LTE】【3】LTE 36.212 咬尾卷积码详解
  9. python中字符串str的strip()方法
  10. 小程序解决方案 Westore - 组件、纯组件、插件开发
  11. Oracle 基本查询:dual、distinct、null、between and、in、like、order by、group by、dual、as
  12. 命令 所有的虚拟环境_Python虚拟环境安装与配置
  13. Java高并发编程实战6,通过AQS源码分析lock()锁机制
  14. 前端之图形学-1 数据可视化
  15. 视频压缩:I帧、P帧、B帧 关键帧
  16. 整理springmvc+mybatis+velocity的整合一
  17. linux查找不到kde桌面,观点|KDE Plasma 5 —— 给尚未确定桌面环境的 Linux 用户指明道路...
  18. python画简单的图形(结构,循环)
  19. vue3子组件给父组件传参
  20. java水仙花数(详解)

热门文章

  1. 看大牛是如何使用和理解线程池
  2. java计算机毕业设计基于安卓Android的婚恋相亲app
  3. 5. 构造函数和普通函数的区别
  4. 怎么画单极交流放大电路波形图_从吹风机电路中学习二极管的实际应用
  5. “五步投资法”精益投资,让你从业余到专业!
  6. react 点击按钮返回上一级路由
  7. turtlebot强化学习导航(无需安装gym)
  8. XRSPACE 总经理刘冠廷:元宇宙行业如何通过 2D、3D 联动,实现高速用户增长?
  9. 【一步步学OpenGL 21】 -《聚光灯光源》
  10. java语言基础笔记——语句,函数