node --- 监听文件变化(静态、动态、子进程)
静态版本:监听的文件名写死了
// 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 --- 监听文件变化(静态、动态、子进程)相关推荐
- 监听文件变化并自动运行 npm script
监听文件变化并自动运行 npm script 软件工程师做的事情基本都是在实现自动化,比如各种业务系统是为了业务运转的自动化,部署系统是为了运维的自动化,对于开发者本身,自动化也是提升效率的关键环节, ...
- Java实现监听文件变化的三种方法,推荐第三种
背景 在研究规则引擎时,如果规则以文件的形式存储,那么就需要监听指定的目录或文件来感知规则是否变化,进而进行加载.当然,在其他业务场景下,比如想实现配置文件的动态加载.日志文件的监听.FTP文件变动监 ...
- python监听文件最后修改人_Python持续监听文件变化代码实例
在日常的工作中,有时候会有这样的需求,需要一个常驻任务,持续的监听一个目录下文件的变化,对此作出回应. pyinotify就是这样的一个python包,使用方式如下: 一旦src.txt有新的内容,程 ...
- webpack学习笔记(三):监听文件变化并编译
在上一篇webpack学习笔记中主要认识了webpack配置文件中相关的基础配置和命令的执行.这次学习如何在文件发生变化时自动打包编译. 首先,我们来看一下配置文件 const path = requ ...
- java 接口文件夹_Java NIO.2 使用Path接口来监听文件、文件夹变化
Java7对NIO进行了大的改进,新增了许多功能: •对文件系统的访问提供了全面的支持 •提供了基于异步Channel的IO 这些新增的IO功能简称为 NIO.2,依然在java.nio包下. 早期的 ...
- gulp构建项目(三):gulp-watch监听文件改变、新增、删除
一.gulp.watch()功能介绍 举例说明:当'./src/*.html'发生变化时,执行'html'任务,同时刷新浏览器.如下: gulp.task('watch', function(){gu ...
- Android 第十九课 大喇叭--广播机制----动态注册监听网络变化与静态注册实现开机启动
为了便于进行 系统级别的消息通知,Android引入了一套广播消息机制. 1.广播机制简介: 因为Android中的每个应用程序都可以对自己感兴趣的广播尽心注册,这样程序只会接收自己所关心的广播内容, ...
- 使用Node.JS监听文件夹变化
使用Node.JS监听文件夹改变有许多应用场合,比如: 构建自动编绎工具 当源文件改变时,自动运行build过程,比如当你写CoffeeScript文件或SASS CSS文件时,保存之后可即时生成对应 ...
- oracle未获得监听器,无监听文件listener.ora的动态监听小例试验
在数据库服务器上,监听文件的位置是:$ORACLE_HOME/network/admin/listener.ora 试验如下: 移动db服务器上的监听文件,如下命令: [oracle@ENMOEDU ...
最新文章
- 读django文档——Managing static files (e.g. images, JavaScript, CSS)
- heroku_了解如何使用Heroku部署全栈Web应用程序
- python读写二进制
- 在EXT中前后台传数据的方式
- xcode7.2 真机测试
- mysql分组查询和分组过滤
- python的模块文档_python查看模块文档
- DPM2012学习(九),配置DPM发送电子邮件
- 深度学习之循环神经网络(5)RNN情感分类问题实战
- 我擦!没想到你们都是这样 “劝退” 员工的!
- linux mysql general_利用mysql general log 写shell 可行性简要分析
- 前端类名优秀命名例子_这是一篇需要花费你15分钟阅读的干货!浅谈前端工程化...
- 图书管理系统html_你的毕业设计是 XX 管理系统吗?
- EXT.NET高效开发(二)——封装函数
- spring Boot 学习(一、Spring Boot与缓存)
- 数据可视化—随机漫步
- android崩溃日志 2016,常用获取Android崩溃日志的几种方法
- 编程逻辑性思维的重要性
- HTML5基础教程(21)Audio(音频)
- 一文教你秒懂晶体三极管与场效应晶体管选型的诀窍
热门文章
- _VARIANT_T 到 CSTRING 转换
- mysql中如何删除多个表格_mysql怎么批量删除多个表?
- python文本清洗_【python】TXT文本数据清洗和英文分词、词性标注
- antd table动态表头_解决react使用antd table组件固定表头后,表头和表体列不对齐以及配置fixed固定左右侧后行高度不对齐...
- plantuml语法_PlantUML实践 | 思维导图
- python if name main 的作用_Python中if __name__ == __main__: 的作用
- C# Lambda 和 匿名函数的GC总结
- 李宏毅机器学习课程4~~~分类:概率生成模型
- 新华社:华尔街专家警告2019年美股或面临剧烈调整
- Six Basic Functional Areas of Spring