Как я могу проверить имя файла при выполнении жидкости в командной строке с gulp

Я хочу динамически проверить, существует ли файл json с тем же именем, что и html-файл, прежде чем добавлять файл json в жидкую команду в командной строке. Сначала я хочу проверить, существует ли файл json с таким же префиксом имени (например, "Default.json" или "News.json"), что и файл шаблона (например, "Default.html" или "News.json"). Если имя файла совпадает, я хочу добавить файл json в команду gulp-exec ниже.

Это то, что у меня уже есть:

'use strict';

// Config
var gulp = require('gulp');
var debug = require('gulp-debug');
var tap = require('gulp-tap');
var exec = require('gulp-exec');
var dest = require('gulp-dest');

var config = {
    fluid: {
        src: './src/Templates/*.html',
        dest: './.build/',
        partialRootPaths: './src/Partials/',
        layoutRootPaths: './src/Layouts/'
    }
};


// Tasks
gulp.task('default', ['build']);
gulp.task('build', ['fluid']);


// Default
gulp.task('fluid', function () {
    var options = {
        continueOnError: false, // default = false, true means don't emit error event
        pipeStdout: true, // default = false, true means stdout is written to file.contents

        partialRootPaths: config.fluid.partialRootPaths,
        layoutRootPaths: config.fluid.layoutRootPaths
    };

    // TODO: add JSON variables, if there is a json file with the same name as the template file
    // check if file name of template file is readable and writeable, then check if json file exists, then add param to exec function

    gulp.src(config.fluid.src)
        .pipe(exec(
        'fluid  --template <%= file.path %> --partialRootPaths <%= options.partialRootPaths %> --layoutRootPaths <%= options.layoutRootPaths %>',
        options
        ))
        // .pipe(tap(function (file,t) {
        //  console.log(file.path);
        // }))
        .pipe(gulp.dest(config.fluid.dest));
});

Я действительно не знаю, что делать. Я узнал о gulp-tap и gulp-filter, но я не знаю, правильные ли это плагины.

Есть ли у вас какие-либо идеи?

Спасибо!

0 ответов

Другие вопросы по тегам