簡體   English   中英

如何在Gulp任務中拆分文件

[英]How to split files in Gulp task

例如,我在mydata.json有一些數組

[
  {
    "name": "item1",
    "description": "bla bla bla"
  },
  {
    "name": "item2",
    "description": "lorem lorem lorem"
  },
  {
    "name": "item3",
    "description": "ipsum ipsum ipsum"
  },
]

我需要將mydata.json拆分為三個文件: item1.jsonitem2.jsonitem3.json

我必須添加到我的Gulp任務中?

gulp.task('mytask', function () {
  return gulp.src("src/mydata.json")
    .pipe( ??? )
    .pipe(gulp.dest('./dist'));
});

這不是最高性能的解決方案,因為一切都是同步完成的,而且它超出了典型的gulp工作流程。 如果這是一個問題,可以修改它以使用所有異步方法。 好處是你可以使用它而無需編寫新的插件。

var fs = require('fs');
gulp.task('mytask', function(done) {
    var data = require('src/mydata.json');

    console.log('about to write files...')
    data.forEach(function(item) {
        var fileName = item.name + '.json';
        var fileContents = JSON.stringify(item);
        fs.writeFileSync(fileName, fileContents);
        console.log('saved file: ', fileName);
    });

    // let gulp know the task is complete
    done();
});

將您的任務分解為單獨的文件。 然后在我們的gulpfile.js文件中,您需要在這些文件中。 gulpfile.js

require('./gulp/tasks/styles');
require('./gulp/tasks/watch');

然后在styles.js和watch.js文件中,將gulp.task與所需文件一起添加到頂部。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM