Node.js:跟踪目录中的新文件
我想跟踪目录中的新文件。我使用了文档中给出的脚本: 例如,我使用Node.js:跟踪目录中的新文件,node.js,fs,Node.js,Fs,我想跟踪目录中的新文件。我使用了文档中给出的脚本: 例如,我使用touch hello.txt将文件添加到mydir/ 运行脚本时,我没有得到新的文件名,因为发出的事件是rename!!这里是控制台输出 event is: rename filename not provided 如何获取文件新名称hello.txt 谢谢。同一页还介绍了您的问题: 在回调中提供文件名参数在每个 平台(目前仅在Linux和Windows上支持)。即使 并不总是保证提供受支持的平台文件名 我认为您最好切换到另一个
touch hello.txt
将文件添加到mydir/
运行脚本时,我没有得到新的文件名,因为发出的事件是rename
!!这里是控制台输出
event is: rename
filename not provided
如何获取文件新名称hello.txt
谢谢。同一页还介绍了您的问题: 在回调中提供文件名参数在每个 平台(目前仅在Linux和Windows上支持)。即使 并不总是保证提供受支持的平台文件名
我认为您最好切换到另一个提供类似功能的模块,如(我自己没有任何经验)。同一页还介绍了您的问题: 在回调中提供文件名参数在每个 平台(目前仅在Linux和Windows上支持)。即使 并不总是保证提供受支持的平台文件名 我认为您最好切换到另一个提供类似功能的模块,如(我自己没有任何经验)。
fs.watch('somedir',(事件,文件名)=>{
})
fs.watch('somedir',(事件,文件名)=>{
})
chokidarat易于设置。按照自述文件中的说明进行设置。下面是一个快速示例,我用来检测相对于Node.js应用程序根目录的/video子文件夹中何时生成视频文件:
- 安装Node.js(包括NPM)
- Generate package.json
npm init
- 将Chokidar库安装到/node_modules子文件夹中,并将依赖项保存到package.json
npm Install Chokidar--save
- 创建一个示例程序文件(即触摸
)video.js
- 创建要观看的文件夹(即
)mkdir视频
- 将以下代码添加到video.js(如自述文件中所述,它将监视/videos子文件夹中的更改并忽略前缀为句号的文件名):
var chokidar=要求('chokidar'); chokidar.watch('./视频',{忽略:/[\/\\]\./}).on('all',函数(事件,路径){console.log(事件,路径);});
- 启动打印到输出的程序
,指示正在监视/videos子目录及其内容,即。node video.js
$node video.js addDir./videos
- 将文件(即test.mov)复制/保存到/videos子目录会将以下内容打印到终端中的标准输出:
添加视频/test.mov
- 删除该文件会将以下内容打印到终端:
取消视频/test.mov的链接
- 安装Node.js(包括NPM)
- Generate package.json
npm init
- 将Chokidar库安装到/node_modules子文件夹中,并将依赖项保存到package.json
npm Install Chokidar--save
- 创建一个示例程序文件(即触摸
)video.js
- 创建要观看的文件夹(即
)mkdir视频
- 将以下代码添加到video.js(如自述文件中所述,它将监视/videos子文件夹中的更改并忽略前缀为句号的文件名):
var chokidar=要求('chokidar'); chokidar.watch('./视频',{忽略:/[\/\\]\./}).on('all',函数(事件,路径){console.log(事件,路径);});
- 启动打印到输出的程序
,指示正在监视/videos子目录及其内容,即。node video.js
$node video.js addDir./videos
- 将文件(即test.mov)复制/保存到/videos子目录会将以下内容打印到终端中的标准输出:
添加视频/test.mov
- 删除该文件会将以下内容打印到终端:
取消视频/test.mov的链接
event is: rename
filename not provided