我有一个具有特定文件夹结构和其他项目的项目,基本上应该只有一些文件不同。
我想写一个复制第一个项目文件夹结构的gulp-task
(或任务),但只为文件创建symlinks
,而不会覆盖已存在于另一个项目中的文件。
我发现我可以使用symlinks
和gulp
创建vinyl-fs
。
我试图创建一个两步任务。首先,我尝试复制文件夹结构,但我不知道如何告诉gulp 我只关心文件夹结构。
然后,我想创建一个symlink
任务,在正确的目录中创建symlinks
。
也许,我可以使用函数参数仅使用vinyl-fs
的符号链接创建它,但我无法找到它。
答案 0 :(得分:2)
看起来你可以这样做只复制文件夹(排除*.*
):
gulp
.src(['base/path/**/*', '!base/path/**/*.*'])
.pipe(gulp.dest('target'));
假设您的所有文件都有某种扩展名(例如*.jpg
)。
对于symlinks
,以下工作不起作用吗?:
var vfs = require('vinyl-fs');
...
vfs
.src('base/path/**/*', { followSymlinks: false, nodir: true })
.pipe(vfs.symlink('target'));
...