在 Gulp 中使用 `base` 访问主目录

Accessing home directory with `base` in Gulp

我正在尝试使用 Gulp 从我的主目录复制选定的文件,但以下方法无法做到:

var files = ['one', 'two'];
gulp.task('collect', function(){
  return gulp.src(files, {base: '~/'})
  .pipe(gulp.dest('.'));
});

使 base 正常工作的正确设置是什么? The Docs 对此非常简洁。

要获取主目录,请使用 user-home 包(参见 https://github.com/sindresorhus/user-home) or when using Node >= 4.0 then you can also use os.homedir()。在 Node >= 4.0 中:

var os = require('os'),
    path = require('path');
var files = ['one', 'two'];
var homeDir = os.homedir();

gulp.task('collect', function(){
    return gulp.src(files.map(x => path.join(homeDir, x)),
            {base: homeDir})
        .pipe(gulp.dest('.'));
});