node.js案例:抽出特定的文件
//导入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案例:抽出特定的文件相关推荐
- node.js实现formdata上传文件
node.js实现formdata上传文件 1.关于formdata XMLHttpRequest Level 2 添加了一个新的接口--FormData.利用 FormData 对象,我们可以通过 ...
- Node.js 在本地生成日志文件
文章目录 Node.js 在本地生成日志文件 1.前言 2.什么是 fs 3.new console.Console(stdout, stderr, ignoreErrors) 4.node.js 生 ...
- 使用Node.js express 开发上传文件/图片api接口
我是傲夫靠斯,欢迎关注我的公众号[前端工程师的自我修养],每天更新. 今天我们来搞一个Node.js Express的上传文件功能,我使用了busboy这个库. Busboy是一个基于事件的文件流解析 ...
- [转]为什么我要用 Node.js? 案例逐一介绍
原文地址:http://blog.jobbole.com/53736/ 介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样, ...
- 为什么我要用 Node.js? 案例逐一介绍
介绍 JavaScript 高涨的人气带来了很多变化,以至于如今使用其进行网络开发的形式也变得截然不同了.就如同在浏览器中一样,现在我们也可以在服务器上运行 JavaScript ,从前端跨越到后端, ...
- Node.js实现服务器端生成Excel文件(xls格式、xlsx格式文件)并弹出下载文件
注意,前情提示: 本代码基于<Node.js(nodejs)对本地JSON文件进行增.删.改.查操作(轻车熟路)> 传送门Node.js(nodejs)对本地JSON文件进行增.删.改.查 ...
- node.js 中的package.json文件怎么创建?
最近在用webstorm和nodejs做一些东西,老是各种混乱,今天上午创建一个新的项目,结果发现,npm init之后,并没有出现package.json,并没有太明确他的功能的小姑娘表示十分的惊慌 ...
- Node.js新手教程——怎样实现文件上传功能
作者:zhanhailiang 日期:2014-11-16 本文将介绍怎样使用Node.js实现文件上传功能. 1. 初始化项目信息:npm init [root@~/wade/nodejs/node ...
- node.js学习笔记之写文件
node.js之写文件 //---------------optfile.js------------------ var fs= require('fs'); module.exports={ ...
最新文章
- Linux 服务器日志文件查找技巧精粹
- termux python 打开摄像头_【图片】将termux打造成合格的python环境(假装是教程贴)_termux吧_百度贴吧...
- 解决argo workflow报错:MountVolume.SetUp failed for volume “docker-sock“ : hostPath type check failed
- 基于python的文件加密传输系统 毕业论文_20183411 李丞灏 2020-2021 《python程序设计》 实验三 加密传输文件 实验报告...
- [C++][IO]读写二进制文件
- 【Cocos2dX(2.x)_Lua开发之三】
- siege4安装和使用介绍
- 卷积码主要是对抗_【零基础学会LTE】【3】LTE 36.212 咬尾卷积码详解
- python中字符串str的strip()方法
- 小程序解决方案 Westore - 组件、纯组件、插件开发
- Oracle 基本查询:dual、distinct、null、between and、in、like、order by、group by、dual、as
- 命令 所有的虚拟环境_Python虚拟环境安装与配置
- Java高并发编程实战6,通过AQS源码分析lock()锁机制
- 前端之图形学-1 数据可视化
- 视频压缩:I帧、P帧、B帧 关键帧
- 整理springmvc+mybatis+velocity的整合一
- linux查找不到kde桌面,观点|KDE Plasma 5 —— 给尚未确定桌面环境的 Linux 用户指明道路...
- python画简单的图形(结构,循环)
- vue3子组件给父组件传参
- java水仙花数(详解)