У меня есть несколько файлов машинописных файлов, некоторые из которых экспортируют определенный var-named APIS, который представляет собой массив объектов. Я хочу извлечь значения всех этих экспонатов и передать их в json-файл с помощью gulp.Извлечение экспорта машинописных файлов в json-файл с помощью gulp
Например, у меня есть папка с именем services, с 3-мя файлами: service1.ts, service2.ts, service3.ts.
service1.ts:
...
export const APIS = [ { "field1" : "blabla" } ];
service2.ts:
...
export const APIS = [ { "field2" : "yadayada" }, { "field3" : "yadabla" } ];
service3.ts: - не экспортирует APIS вар.
Я хочу использовать глоток в Одере создать файл JSON, который выглядит примерно так:
[ { "field1" : "blabla" }, { "field2" : "yadayada" }, { "field3" : "yadabla" } ]
gulpfile.js - в ??? является заполнителем недостающего кода.
gulp.task('default', function() {
return gulp.src('.../services/*.ts')
.pipe(???)
.pipe(concat('export.json'))
.pipe(gulp.dest('./test'));
});
Я новичок в обоих машинопись & глотком, так что я не знаю, как этого добиться ... какие-нибудь идеи? :)
EDIT: Итак, я понимаю, что для этого нет решения OOTB, и мне нужно написать собственную задачу/плагин. Я не уверен, как это достичь. В идеале я хочу найти плагин gulp (или комбинацию плагинов), который может обрабатывать файлы ts/js как объекты со свойствами. Затем я могу извлечь var, который мне нужен из файла.
Я не мог найти что-то в этом роде, только плагины для манипуляций с строкой - обработка моего ts-файла в виде строки и использование поиска с регулярным выражением кажутся мне слишком сложными. Здесь что-то не хватает? есть ли более прямой способ сделать это?
Из любопытства, почему вы хотите скомпилировать машинописные тексты в js и поместить их в json-файл? – Grant
Я этого не делаю. Я просто хочу создать json-файл из VAR APIS. – Ayelet
Хорошо, вам понадобится плагин gulp, который может выполнять поиск через ваши ts-файлы и извлекать APIS-const, однако я не могу придумать плагин с верхней части головы, который вы могли бы использовать для этого, вам может понадобиться чтобы сделать свой собственный, если вам определенно нужно это сделать, чтобы решить ваши текущие потребности. – Grant