gpt4 book ai didi

javascript - 如何使用 gulp.src() 获取相对源

转载 作者:搜寻专家 更新时间:2023-11-01 00:00:26 24 4
gpt4 key购买 nike

我在/components/slider/index.html 有一个文件。我设置了一个 gulp 任务,使用 gulp-inject 从单独的文件夹中注入(inject)相关的 css/js 文件。

gulp.task('default', function() {

return gulp.src('./components/**/*.html')
.pipe( inject(gulp.src(['./assets/css/bootstrap/*.css'], {read: false}), { relative: true }) )
.pipe( inject(gulp.src(['./assets/js/jquery/*.js'], {read: false}), {starttag: '<!-- inject:head:{{ext}} -->', relative: true} ) )
.pipe(gulp.dest('./dist'));

});

现在我需要获取一个 js 文件的源代码,它位于我们正在管道传输的 html 源代码的旁边,以便使用 gulp-inject 相对注入(inject)它。

有没有办法在管道中获取 gulp.src('./components/**/*.html') 并以某种方式从那里获取同级 js 文件?有什么建议吗?

最佳答案

事实证明你不能使用 gulp-inject 做到这一点,所以我所做的是获取目录路径列表,然后分别对每个路径执行 gulp-inject。

这样我什至可以在开始注入(inject)之前访问所有文件夹和文件路径。

var fs = require('fs');
var dirPath = '/components/widgets/';
var result = []; //this is going to contain paths

fs.readdir(__dirname + dirPath, function (err, filesPath) {
if (err) throw err;
result = filesPath.map(function (filePath) {
return dirPath + filePath;
});

function do_inject(entry) {
// Injection Code using gulp-inject
}

result.forEach(function(entry) {
do_inject(entry);
});

});

此外,我最后还为我的 gulp-inject 使用了“addPrefix”和“addRootSlash”选项,以使其按照我的意愿运行。只是一些额外的信息,它可能会对某人有所帮助。

关于javascript - 如何使用 gulp.src() 获取相对源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35854926/

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