我有一些问题:https://www.npmjs.com/package/gulp-exec#usage
gulp.src('./**/**')
.pipe(exec('git checkout <%= file.path %> <%= options.customTemplatingThing %>', options))
.pipe(exec.reporter(reportOptions));
<%= =>
和file.path
的含义是什么?
他们来自节点吗?你能举一个例子吗?
谢谢
答案 0 :(得分:1)
答案 1 :(得分:1)
<%= =>
这些是lodash.template
&#34;插值&#34;分隔符。它们允许您将任意值插入字符串。您可以在第二个参数中将这些值提供给exec()
。然后,这些值可用作字符串中options
对象的属性。从<%=
到=>
的所有内容都将替换为其中options
属性的值。
示例:强>
gulp.src('.')
.pipe(exec('cp <%= options.in %> <%= options.out %>', {in:'foo', out:'bar'}));
在上面:
<%= options.in %>
已替换为foo
<%= options.out %>
已替换为bar
因此执行的命令是cp foo bar
。
file.path
options
对象不是唯一可用于插值的对象。对exec()
发出的每个Vinyl file执行gulp.src()
中的命令。每次执行命令时,file
对象都会引用执行该命令的特定乙烯基文件。
示例:强>
gulp.src(['foo.txt', 'bar.txt'])
.pipe(exec('rm <%= file.path %>', {}));
执行两个命令,每个命令对应gulp.src()
匹配的每个文件:
rm /path/to/foo.txt
rm /path/to/bar.txt