如何仅在Chokidar中获取文件名而不是完整路径

时间:2018-10-22 12:10:48

标签: javascript node.js

我只想让filename成为changed,removed,rename,但我正在获取完整的文件路径

问题:我想更改完整的filename而不是更改路径或在完整路径上输入字符串

这是我要尝试的:

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

2 个答案:

答案 0 :(得分:2)

由于chokidar基于glob库,因此具有内置功能,可让您通过设置cwd选项直接指定工作目录。因此,只需将代码更改为:

var fileLocation = path.join(__dirname, 'folder/');

var watcher = chokidar.watch(".", {
    persistent: true,
    cwd: fileLocation
});

,您只会在路径中得到一个文件名。

答案 1 :(得分:0)

或者您可以尝试另一种方式。

watcher.on('change', path => {

  const fileIndex = path.lastIndexOf('/') + 1;
  const fileFullName = path.substr(fileIndex);
  const filePureName = fileFullName.split('.')[0];
});