NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)
首先,一个文件里面的内容是由多个文件共同组成的。例如一个文件夹包含有多文件(文件夹)
然后,当其中一个发生变化时所用与之有直接作用的文件(文件夹)都会重新组合。
/*注意:该例子需要在同级目录下完成及该脚本去监听另一个与之同目录下的文件,然后发生变化后,将所有内容重新生成到Index.js中*/
var fs=require('fs');
var fileder="./First/sourse";//需要监听的文件路径
fs.watch(fileder,function (ev,file) { //不需要判断是否有内容
//1.只有有一个文件发生了变化,我们就需要对这个文件夹下的文件进行读取,然后合并
fs.readdir(fileder,function (err,dataList) {
var arr=[];
dataList.forEach(function (f) {//回调函数中的f对应每一个文件名
// console.log(dataList);
// console.log(f);
var info=fs.statSync(fileder+'/'+f);//fs.stat() 检查一个文件是否存在
// console.log(info);
if(info.mode==){
arr.push(fileder+'/'+f);
}
});
//console.log(arr)
//2.读取数组中的文件并合并
var content='';
arr.forEach(function (f) {
var c= fs.readFileSync(f)
//console.log(c.toString());
content+=c.toString()+'\n';
});
//console.log(content)
fs.writeFile('./First/js/Index.js',content)//将变化后的内容生成到指定位置
})
});
NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)的更多相关文章
- sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写
将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写 我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ...
- Web性能优化之动态合并JS/CSS文件并缓存客户端
来源:微信公众号CodeL 在Web开发过程中,会产生很多的js/css文件,传统的引用外部文件的方式会产生多次的http请求,从而加重服务器负担且网页加载缓慢,如何在一次请求中将多个文件一次加载出来 ...
- 用cmd命令合并N个文件
今天早上朋友发我一篇小说(42个TXT文件),让我给他合并为一个文件.我首先想到的是“Copy”命令,它可以复制文件,也可以合并文件. 例如:合并1.txt和2.txt到12.txt(其为ASCII文 ...
- Python之FTP多线程下载文件之分块多线程文件合并
Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...
- gulp实时编译less,压缩合并requirejs模块文件
gulp的使用命令简单,就几个,gulp的简单使用教材可以参考一点的gulp使用教材(http://www.ydcss.com/archives/18). 下面就简单的介绍这些命令如何互相配合的完成前 ...
- 压缩网站的css和js,合并多个文件到一个文件
压缩网站的css和js,合并多个文件到一个文件uglifyjs index.js html5shiv.min.js -o all.min.jsuglifycss index.min.css web.c ...
- asp.net core合并压缩资源文件引发的学习之旅
0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www. ...
- [one day one question] nodejs require 缓存,无法检测文件变化
问题描述: nodejs require 缓存,无法检测文件变化,当文件require引入后,当文件发生变动后即使再次使用require,返回的依然是第一次引入的文件内容,这怎么破? 解决方案: de ...
- C# 合并多种格式文件为PDF
文档合并是一种高效文档处理方式.如果能够有一个方法能将多种不同类型的文档合并成一种文档格式,那么在文档存储管理上将为我们提供极大的便利.因此,本篇文章介绍了一种如何使用免费组件Free Spire.O ...
随机推荐
- 树的dfs序 && 系统栈 && c++ rope
利用树的dfs序解决问题: 就是dfs的时候记录每个节点的进入时间和离开时间,这样一个完整的区间就是一颗完整的树,就转化成了区间维护的问题. 比如hdu3887 本质上是一个求子树和的问题 #incl ...
- matplotlib两种画散点图的方式
对于matplotlib.pyplot( as plt ) 先输入主体数据部分: import numpy as np import matplotlib.pyplot as plt X_train ...
- Delphi_检查exe文件是否是"随机基址"
ZC: cnpack 还是蛮好用的 1.代码: procedure TForm1.btnRandomizedBaseAddressClick(Sender: TObject); var pDosHdr ...
- js工厂方法
工厂方法与简单工厂的区别在于工厂方法没有switch条件分支,实例化哪一个子类放到了客户端(可以利用反射),这样整个工厂和产品体系都没有修改的变化,而只是扩展的变化,这就完全符合了开放-封闭原则的精神 ...
- jenkins显示发送邮件成功,但未收到邮件
一. 构建的控制台输出显示日志发送成功,但是未收到邮件 今天在完成构建的时候,破天荒的发现构建的控制台输出显示日志发送成功,但QQ邮箱的确没收到邮件 15:22:40 D:\python_worksh ...
- python中的单引号双引号和三引号
python的单引号和双引号没有本质的区别,而三引号有两种作用:注释和换行 一. 单引号中可以包含双引号,双引号中可以包含单引号 print("好好学习,'天天向上'") 结果: ...
- 你妹的IOS7
第一时间升级到了IOS7,想体验一把,界面卡就算了,付费的软件闪退也就罢了,耗电发烫也算球了!你妹的,连个电话都打不了了,刚说几句话就黑屏了,要你还有啥用了,果断降级,IOS6已经下载完了,刷机去!
- 【VS2013编译DirectX Tutorials时遇到的错误】FXC : error X3501: 'main': entrypoint not found
修改于2015年9月6日: 去年写这篇解决方案的时候其实对着色器编程还一知半解,摸索了一个治标不治本的方法解决问题,结果被一个CSDN的博主原封不动抄了去,还打上个原创的标签= =,简直无语... 最 ...
- 【Prism】MEF版UIComposition
引言 UIComposition原版Demo在PrismV5的解压包里面.原Demo用了.net4.5版本的DLL,我改成.net4.0的. RegionContext 这个Demo比之前那几个示例大 ...
- (转)Java发送http请求(get 与post方法请求)
本文转载于:http://bijian1013.iteye.com/blog/2166855 package com.bijian.study; import java.io.BufferedRead ...