首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >让Gulp-concat仅合并相关数据

让Gulp-concat仅合并相关数据
EN

Stack Overflow用户
提问于 2017-01-14 02:59:30
回答 1查看 21关注 0票数 0

concat的基本用例很简单:

代码语言:javascript
复制
gulp.task('generate-manifest', function () {
  return gulp.src('./*/data.json')
    .pipe(concat('manifest.json'))
    .pipe(gulp.dest(./path/to/dest));
});

但是,data.json包含一些与manifest.json无关的数据,因此我想添加一个额外的步骤,以便从每个data.json中仅提取我需要的相关json片段,并将该json添加到清单中。

我希望我能像这样:

代码语言:javascript
复制
gulp.task('generate-manifest', function () {
  return gulp.src('./*/data.json')
    .pipe(myCustomFunction())
    .pipe(concat('manifest.json'))
    .pipe(gulp.dest(./path/to/dest));
});

其中myCustomFunction()获取data.json并仅返回相关数据。我不清楚的是如何通过data.json对象|路径传递到myCustomFunction()

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-01-14 04:00:06

这就是创建gulp-json-editor的目的( usage example甚至在manifest.json文件中演示了它)。

您所要做的就是将您的自定义函数传递给jeditor()。您的自定义函数将为每个data.json文件调用,并且您可以返回一个修改后的只包含相关数据的JSON对象:

代码语言:javascript
复制
var jeditor = require("gulp-json-editor");

gulp.task('generate-manifest', function () {
  return gulp.src('./*/data.json')
    .pipe(jeditor(function(json) {
      delete json.unwantedData;
      return json;
    }))
    .pipe(concat('manifest.json'))
    .pipe(gulp.dest('./path/to/dest'));
});

(顺便说一句,我确信您不能简单地连接一组JSON对象并从中获得一个有效的JSON对象。)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41641645

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档