gpt4 book ai didi

javascript - Gulp 使用 gulp-data 和 gulp-jade 以及目录

转载 作者:太空宇宙 更新时间:2023-11-03 22:32:18 27 4
gpt4 key购买 nike

我有一个 gulp 工作流程,一切都运行良好,但似乎它只适用于最上面的文件,例如:public/index.html,但如果我想使用 public/products/item.htmlgulp-data 会抛出错误并查找 src/json/item.json 而不是 src/json/products/item.json.

我认为有问题,因为我使用了 path.basename(file.path, '.jade') + '.json'),它只会返回文件名,当然,如果那么,如果它抛出类似 products/item.jade 的内容,如何使其也提供目录?

var basePath = {
src: 'src/',
dest: 'public/'
}

var src = {
pages: basePath.src + 'jade/',
json : basePath.src + 'json'
}

gulp.task('make:pages', function() {
return gulp.src(src.pages + '**/!(_)*.jade')
.pipe(plumber({
errorHandler: onError
}))
.pipe(data(function(file) {
return JSON.parse(fs.readFileSync('src/json/' + path.basename(file.path, '.jade') + '.json'));
}))
.pipe(jade({
pretty: true
}))
.pipe(gulp.dest(basePath.dest));
});

最佳答案

假设我使用相同的文件夹结构:

src
├── fonts
├── jade
│   ├── _layout.jade
│   ├── index.jade
│   ├── product
│   │   └── item.jade
│   ├── partials
│   │   ├── _footer.jade
│   │   └── _header.jade
├── js
├── json
│   ├── index.json
│   ├── product
│   │   └── item.json

我用这个代替:

return JSON.parse(fs.readFileSync(file.path.replace(/jade/g, 'json')));

并且它有效! :)

关于javascript - Gulp 使用 gulp-data 和 gulp-jade 以及目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34920884/

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