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

时间:2016-01-11 03:09:27

标签: node.js gulp glob

我正在尝试使用Gulp从我的主目录复制所选文件,但以下内容不会这样做:

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

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

1 个答案:

答案 0 :(得分:4)

要获取主目录,请使用user-home包(请参阅https://github.com/sindresorhus/user-home)或使用Node> = 4.0时,您也可以使用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('.'));
});