Javascript 如何在chokidar中仅获取文件名而不是完整路径
我只想得到Javascript 如何在chokidar中仅获取文件名而不是完整路径,javascript,node.js,Javascript,Node.js,我只想得到文件名被更改、删除、重命名,但我得到的是完整的文件路径 问题:我想得到完整的文件名被更改,而不是路径或在完整路径上执行字符串 以下是我正在尝试的: var fileLocation = path.join(__dirname, 'folder/'); var watcher = chokidar.watch(fileLocation, { persistent: true }); watcher .on('add',
文件名
被更改、删除、重命名
,但我得到的是完整的文件路径
问题:我想得到完整的文件名
被更改,而不是路径或在完整路径上执行字符串
以下是我正在尝试的:
var fileLocation = path.join(__dirname, 'folder/');
var watcher = chokidar.watch(fileLocation, {
persistent: true
});
watcher
.on('add', path => {console.log(`File ${path} has been added name:`); })
.on('change', path => {console.log(`File ${path} has been changed`);});
.on('unlink', path => { console.log(`File ${path} has been removed`); });
由于chokidar基于glob库,因此它具有内置功能,允许您通过设置cwd选项直接指定工作目录。因此,只需将代码更改为:
var fileLocation = path.join(__dirname, 'folder/');
var watcher = chokidar.watch(".", {
persistent: true,
cwd: fileLocation
});
您将只在路径中获得一个文件名。由于chokidar基于glob库,因此它具有内置功能,允许您通过设置cwd选项直接指定工作目录。因此,只需将代码更改为:
var fileLocation = path.join(__dirname, 'folder/');
var watcher = chokidar.watch(".", {
persistent: true,
cwd: fileLocation
});
您将只在路径中获得一个文件名。或者您可以尝试另一种方法
watcher.on('change', path => {
const fileIndex = path.lastIndexOf('/') + 1;
const fileFullName = path.substr(fileIndex);
const filePureName = fileFullName.split('.')[0];
});
或者你可以尝试另一种方法
watcher.on('change', path => {
const fileIndex = path.lastIndexOf('/') + 1;
const fileFullName = path.substr(fileIndex);
const filePureName = fileFullName.split('.')[0];
});
见