gpt4 book ai didi

node.js - 如何在 Gulp 中将变量从一个管道传送到另一个管道

转载 作者:太空宇宙 更新时间:2023-11-04 02:15:34 24 4
gpt4 key购买 nike

gulp.task('jade:prod:DE_EN', function () {
return gulp.src('./views/*.jade')
.pipe(tap(function(file) {
console.log(path.basename(file.path))
}))
.pipe(jade({
locals: {
env: 'production',
texts: texts.EN,
config: texts.EN['config']
}
}))
.pipe(gulp.dest('./public/de/en'));
});

console.log(path.basename(file.path)) 返回正在通过流传递的 .jade 文件。

我想知道如何获取该变量并将其作为本地人之一传递到 Jade 管中。这样我就可以在编译时在 Jade 中使用它。

任何解释管道/流如何工作的附加链接/引用/文档将不胜感激。

最佳答案

Transform 获取数据的唯一方法(传递给 pipe() 的东西)下一步是将其附加到 vinyl-fs通过流移动的文件对象。 gulp-data插件可以让你做到这一点:

gulp.task('jade:prod:DE_EN', function () {
return gulp.src('./views/*.jade')
.pipe(data(function(file) {
return {
myBasename: path.basename(file.path),
env: 'production',
texts: texts.EN,
config: texts.EN['config']
};
}))
.pipe(jade())
.pipe(gulp.dest('./public/de/en'));
});

现在您可以访问 Jade 模板中的本地 myBasename 了:

doctype html
html(lang="en")
head
title=Test
body
h1 #{myBasename}

关于node.js - 如何在 Gulp 中将变量从一个管道传送到另一个管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35945434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com