Как я могу проверить имя файла при выполнении жидкости в командной строке с 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, но я не знаю, правильные ли это плагины.
Есть ли у вас какие-либо идеи?
Спасибо!