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];
});