首先,一个文件里面的内容是由多个文件共同组成的。例如一个文件夹包含有多文件(文件夹)

然后,当其中一个发生变化时所用与之有直接作用的文件(文件夹)都会重新组合。

  1. /*注意:该例子需要在同级目录下完成及该脚本去监听另一个与之同目录下的文件,然后发生变化后,将所有内容重新生成到Index.js中*/
  2.  
  3. var fs=require('fs');
  4. var fileder="./First/sourse";//需要监听的文件路径
  5. fs.watch(fileder,function (ev,file) { //不需要判断是否有内容
  6.  
  7. //1.只有有一个文件发生了变化,我们就需要对这个文件夹下的文件进行读取,然后合并
  8. fs.readdir(fileder,function (err,dataList) {
  9. var arr=[];
  10.  
  11. dataList.forEach(function (f) {//回调函数中的f对应每一个文件名
  12. // console.log(dataList);
  13. // console.log(f);
  14. var info=fs.statSync(fileder+'/'+f);//fs.stat() 检查一个文件是否存在
  15.  
  16. // console.log(info);
  17. if(info.mode==){
  18. arr.push(fileder+'/'+f);
  19. }
  20. });
  21. //console.log(arr)
  22. //2.读取数组中的文件并合并
  23. var content='';
  24. arr.forEach(function (f) {
  25. var c= fs.readFileSync(f)
  26. //console.log(c.toString());
  27. content+=c.toString()+'\n';
  28. });
  29. //console.log(content)
  30. fs.writeFile('./First/js/Index.js',content)//将变化后的内容生成到指定位置
  31. })
  32. });

NodeJs之文件合并(某一文件的内容发生变化与之相关的内容重新合并)的更多相关文章

  1. sof文件和NIOS II的软件(elf)合并为jic文件以使用Quartus Programmer烧写

    将Altera FPGA的sof文件和NIOS II的elf固件合并为一个jic文件以使用Quartus Programmer烧写   我们在学习和调试NIOS II工程的时候,一般都是先使用Quar ...

  2. Web性能优化之动态合并JS/CSS文件并缓存客户端

    来源:微信公众号CodeL 在Web开发过程中,会产生很多的js/css文件,传统的引用外部文件的方式会产生多次的http请求,从而加重服务器负担且网页加载缓慢,如何在一次请求中将多个文件一次加载出来 ...

  3. 用cmd命令合并N个文件

    今天早上朋友发我一篇小说(42个TXT文件),让我给他合并为一个文件.我首先想到的是“Copy”命令,它可以复制文件,也可以合并文件. 例如:合并1.txt和2.txt到12.txt(其为ASCII文 ...

  4. Python之FTP多线程下载文件之分块多线程文件合并

    Python之FTP多线程下载文件之分块多线程文件合并 欢迎大家阅读Python之FTP多线程下载系列之二:Python之FTP多线程下载文件之分块多线程文件合并,本系列的第一篇:Python之FTP ...

  5. gulp实时编译less,压缩合并requirejs模块文件

    gulp的使用命令简单,就几个,gulp的简单使用教材可以参考一点的gulp使用教材(http://www.ydcss.com/archives/18). 下面就简单的介绍这些命令如何互相配合的完成前 ...

  6. 压缩网站的css和js,合并多个文件到一个文件

    压缩网站的css和js,合并多个文件到一个文件uglifyjs index.js html5shiv.min.js -o all.min.jsuglifycss index.min.css web.c ...

  7. asp.net core合并压缩资源文件引发的学习之旅

    0. 在asp.net core中使用BuildBundlerMinifier合并压缩资源文件 在asp.net mvc中可以使用Bundle来压缩合并css,js 不知道的见:http://www. ...

  8. [one day one question] nodejs require 缓存,无法检测文件变化

    问题描述: nodejs require 缓存,无法检测文件变化,当文件require引入后,当文件发生变动后即使再次使用require,返回的依然是第一次引入的文件内容,这怎么破? 解决方案: de ...

  9. C# 合并多种格式文件为PDF

    文档合并是一种高效文档处理方式.如果能够有一个方法能将多种不同类型的文档合并成一种文档格式,那么在文档存储管理上将为我们提供极大的便利.因此,本篇文章介绍了一种如何使用免费组件Free Spire.O ...

随机推荐

  1. 添加vue调试工具vue-devtolls

    1.在使用脚手架vue-cli.js下载好node-modules 2.在node-modules目录下找的vue-devtools文件(如果没有可以用npm install vue-devtools ...

  2. springboot项目支持war部署tomcat

    最近在学校spring boot 在网络上学校到简单的启动spring boot项目,也搭建好了,但时实际情况我的spring boot项目是要发布到tomcat中的,今天,随意打了个war包发布到t ...

  3. (转)OpenStack Kilo 版本中 Neutron 的新变化

    OpenStack Kilo 版本,OpenStack 这个开源项目的第11个版本,已经于2015年4月正式发布了.现在是个合适的时间来看看这个版本中Neutron到底发生了哪些变化了,以及引入了哪些 ...

  4. 开启 cmd cmder 代理

    win10安装了ShadowSocks软件,浏览器通过代理后就可以***,但有时候需要通过cmd科学下载安装一些组件,就需要设置一下cmd的代理 cmd如果要设置代理的话,需要在执行其他命令之前,先执 ...

  5. mysql 语文成绩大于80,数学成绩大于80

    mysql> select name from test where name = any(select name from test where chengj i > 80 and xu ...

  6. HANA aggregate 数字聚合

    在project 1 里面 具有服务店代码,金额.应该上一层aggregate 就自动聚合了.可是并没有.要自己手工设置一下.在columns 右键变成——convert to  aggregated ...

  7. 深入javascript之原型和原型链

    原型和原型链是js中的难点也是重点,明白了原型和原型链会让我们在后面不管是学习还是工作都会更加高效,并且原型和原型链会是面试中必不可少的话题.看完此篇文章一定会让你对原型,原型链有深刻全面的了解. 一 ...

  8. derby_学习_00_资源帖

    一.精选资料 二.参考资料

  9. gradle_学习_01_gradle安装与基本使用

    一.下载安装 1.下载地址 官方下载地址: https://gradle.org/install/#manually 下载二进制文件,解压即可 2.环境变量配置 加入以下环境变量 GRADLE_HOM ...

  10. hdu 1671 Phone List (Trie树)

    简单的字典树应用,在建树的时候判断就行了. 需要注意的语法: 在使用malloc和free来处理动态内存的时候,仅仅是释放了这个对象所占的内存,而不会调用这个对象的析构函数:使用new和delete就 ...