【问题标题】:How to split files in Gulp task如何在 Gulp 任务中拆分文件
【发布时间】:2015-03-18 14:45:01
【问题描述】:

例如,我在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'));
});

【问题讨论】:

    标签: javascript json node.js gulp


    【解决方案1】:

    这不会是最高效的解决方案,因为一切都是同步完成的,它有点超出了典型的 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();
    });
    

    【讨论】:

      【解决方案2】:

      将您的任务分成单独的文件。然后在我们的 gulpfile.js 文件中,您需要这些文件。 gulpfile.js

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

      然后在您的 styles.js 和 watch.js 文件中添加您的 gulp.task,并在顶部添加所需的文件。

      【讨论】:

        猜你喜欢
        • 2016-08-18
        • 1970-01-01
        • 1970-01-01
        • 2016-05-04
        • 2017-09-02
        • 2018-07-09
        • 1970-01-01
        • 2016-11-26
        • 1970-01-01
        相关资源
        最近更新 更多