静态版本:监听的文件名写死了

// watcher.js
'use strict'
const fs = require('fs');
fs.watch('target.txt', () => console.log('File changed!'));
console.log('Now watching target.txt for changes...');
  • 命令行启动
node watcher.js

动态版本:在命令行输入需要监听的文件名.

  • process 全局对象,获取命令行输入的文件名
// watcher-argv.js
'use strict'
const fs = require('fs');
console.log(process.argv);
const filename = process.argv[2];
if (!filename) {throw Error('A file to watch must be specified!');
}
fs.watch(filename, () => { console.log(`File ${filename} changed!`));
console.log(`Now watching ${filename} for changes...`);

使用子进程对变化文件进行操作

  • 在开发中最常见的做法是把不同的工作放在不同的独立进程中执行
  • 在监听到文件变化后,创建一个子进程,再用这个子进程执行系统命令
  • child-process模块是node.js中的子进程模块
// watcher-spawn.js
'use strict';
const fs = require('fs');
const spawn = require('child_process').spawn;
const filename = process.argv[2];if (!filename) {throw Error('A file to watch must be specified!');
}fs.watch(filename, () => {const ls = spawn('ls', ['-l', '-h', filename]);ls.stdout.pipe(process.stdout);
});
console.log(`Now watching ${filename} for changes...`);

node --- 监听文件变化(静态、动态、子进程)相关推荐

  1. 监听文件变化并自动运行 npm script

    监听文件变化并自动运行 npm script 软件工程师做的事情基本都是在实现自动化,比如各种业务系统是为了业务运转的自动化,部署系统是为了运维的自动化,对于开发者本身,自动化也是提升效率的关键环节, ...

  2. Java实现监听文件变化的三种方法,推荐第三种

    背景 在研究规则引擎时,如果规则以文件的形式存储,那么就需要监听指定的目录或文件来感知规则是否变化,进而进行加载.当然,在其他业务场景下,比如想实现配置文件的动态加载.日志文件的监听.FTP文件变动监 ...

  3. python监听文件最后修改人_Python持续监听文件变化代码实例

    在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程 ...

  4. webpack学习笔记(三):监听文件变化并编译

    在上一篇webpack学习笔记中主要认识了webpack配置文件中相关的基础配置和命令的执行.这次学习如何在文件发生变化时自动打包编译. 首先,我们来看一下配置文件 const path = requ ...

  5. java 接口文件夹_Java NIO.2 使用Path接口来监听文件、文件夹变化

    Java7对NIO进行了大的改进,新增了许多功能: •对文件系统的访问提供了全面的支持 •提供了基于异步Channel的IO 这些新增的IO功能简称为 NIO.2,依然在java.nio包下. 早期的 ...

  6. gulp构建项目(三):gulp-watch监听文件改变、新增、删除

    一.gulp.watch()功能介绍 举例说明:当'./src/*.html'发生变化时,执行'html'任务,同时刷新浏览器.如下: gulp.task('watch', function(){gu ...

  7. Android 第十九课 大喇叭--广播机制----动态注册监听网络变化与静态注册实现开机启动

    为了便于进行 系统级别的消息通知,Android引入了一套广播消息机制. 1.广播机制简介: 因为Android中的每个应用程序都可以对自己感兴趣的广播尽心注册,这样程序只会接收自己所关心的广播内容, ...

  8. 使用Node.JS监听文件夹变化

    使用Node.JS监听文件夹改变有许多应用场合,比如: 构建自动编绎工具 当源文件改变时,自动运行build过程,比如当你写CoffeeScript文件或SASS CSS文件时,保存之后可即时生成对应 ...

  9. oracle未获得监听器,无监听文件listener.ora的动态监听小例试验

    在数据库服务器上,监听文件的位置是:$ORACLE_HOME/network/admin/listener.ora 试验如下: 移动db服务器上的监听文件,如下命令: [oracle@ENMOEDU ...

最新文章

  1. 读django文档——Managing static files (e.g. images, JavaScript, CSS)
  2. heroku_了解如何使用Heroku部署全栈Web应用程序
  3. python读写二进制
  4. 在EXT中前后台传数据的方式
  5. xcode7.2 真机测试
  6. mysql分组查询和分组过滤
  7. python的模块文档_python查看模块文档
  8. DPM2012学习(九),配置DPM发送电子邮件
  9. 深度学习之循环神经网络(5)RNN情感分类问题实战
  10. 我擦!没想到你们都是这样 “劝退” 员工的!
  11. linux mysql general_利用mysql general log 写shell 可行性简要分析
  12. 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...
  13. 图书管理系统html_你的毕业设计是 XX 管理系统吗?
  14. EXT.NET高效开发(二)——封装函数
  15. spring Boot 学习(一、Spring Boot与缓存)
  16. 数据可视化—随机漫步
  17. android崩溃日志 2016,常用获取Android崩溃日志的几种方法
  18. 编程逻辑性思维的重要性
  19. HTML5基础教程(21)Audio(音频)
  20. 一文教你秒懂晶体三极管与场效应晶体管选型的诀窍

热门文章

  1. _VARIANT_T 到 CSTRING 转换
  2. mysql中如何删除多个表格_mysql怎么批量删除多个表?
  3. python文本清洗_【python】TXT文本数据清洗和英文分词、词性标注
  4. antd table动态表头_解决react使用antd table组件固定表头后,表头和表体列不对齐以及配置fixed固定左右侧后行高度不对齐...
  5. plantuml语法_PlantUML实践 | 思维导图
  6. python if name main 的作用_Python中if __name__ == __main__: 的作用
  7. C# Lambda 和 匿名函数的GC总结
  8. 李宏毅机器学习课程4~~~分类:概率生成模型
  9. 新华社:华尔街专家警告2019年美股或面临剧烈调整
  10. Six Basic Functional Areas of Spring