2

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

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 %>

4

1 回答 1

2

使用notify(Function)(如此所述)的形式,您可以使用内置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();
}
于 2020-07-13T09:34:07.910 回答