使用 Gulp-Notify 在终端中显示项目文件夹路径,而不是在硬盘驱动器上显示项目的整个路径

Display project folder path in the terminal with Gulp-Notify instead of entire path of project on hard drive

当任务为 运行 时,我正在使用 gulp-notify 在终端中显示额外信息。目前我只能得到我的 HD 和文件名的完整路径。我宁愿只显示项目文件夹,因为它更干净。

function copyVideo (done) {
   // Locate files
   return gulp.src('./src/assets/video/*')
   // Copy the files to the dist folder
   .pipe(gulp.dest('./dist/assets/video'))
   // Notify the files copied in the terminal
   .pipe(notify('Copied <%= file.relative %> to <%= file.path %>')),
 done();
}

终端视图

我希望终端简单地说 *Copied quick-scope-for-6.mp4 to \dist\assets\video*

我已经尝试了 <%= folder.path %> 和 <%= directory.path %>

notify(Function)的形式(如文档here), 您可以使用内置的 path.relative 方法获取相对于项目文件夹的目标路径。

var path = require('path');
// ...

function copyVideo (done) {
  // Locate files
  return gulp.src('./src/assets/video/*')
  // Copy the files to the dist folder
  .pipe(gulp.dest('./dist/assets/video'))
  // Notify the files copied in the terminal
  .pipe(notify(file => {
    var destFolder = path.dirname(file.path);
    var projectFolder = path.dirname(module.id); // Also available as `module.path`
    return `Copied ${file.relative} to ${path.relative(projectFolder, destFolder)}`;
  })),
  done();
}