我有一个具有特定文件夹结构的项目和另一个应该基本相同的项目,只有一些文件不同。
我想写一个gulp-task
(或多个任务)来复制第一个项目文件夹结构,但只为文件创建符号链接(symbolic link)
,并且不要覆盖其他项目中已有的文件。
我发现我可以使用 gulp
和 vinyl-fs
创建 symlinks
。
我尝试创建一个两步任务。首先,我尝试复制文件夹结构,但我不知道如何告诉 gulp 我只关心文件夹结构。
其次,我想创建一个 symlink
任务,在正确的目录中创建 symlinks
。
也许,我可以使用函数参数仅使用 vinyl-fs
的符号链接(symbolic link)来创建它,但我不知道如何做。
最佳答案
看起来你可以这样做来只复制文件夹(不包括*.*
):
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'));
...
关于javascript - Gulp 复制文件夹结构,但只对文件进行符号链接(symbolic link),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42922461/