У меня есть несколько файлов машинописных файлов, некоторые из которых экспортируют константу с именем APIS
.Доступ к значениям переменной файла машинописи с помощью gulp
Я пытаюсь получить доступ к этим экспортам (я хочу объединить их все в один файл), но он не работает. Я, очевидно, что-то делаю неправильно, но я не уверен, что.
Например, у меня есть папка с именем services, с двумя файлами: service1.ts, service2.ts.
service1.ts:
...
export const APIS = [ { "field1" : "blabla" } ];
service2.ts: не содержит APIS
вар.
Это мой gulpfile.js:
var gulp = require('gulp');
var concat = require('gulp-concat');
var map = require('gulp-map');
gulp.task('default', function() {
return gulp.src('.../services/*.ts')
.pipe(map(function(file) {
return file.APIS;
}))
.pipe(concat('all.js'))
.pipe(gulp.dest('./test/'));
});
Когда я запускаю эту задачу, я ничего не получаю. Когда я добавил console.log(file.APIS);
к функции карты, я получаю undefined
для всех значений (хотя он определен в service1.ts!).
Это следующее: Extracting typescript exports to json file using gulp
EDIT: ОК, так что я попытался сохранения экспорта в виде файла .js вместо .ts файла, и теперь я могу получить доступ к этим ВАР с помощью require
:
gulp.task («по умолчанию», функция() {
return gulp.src('./**/*.service.export.js')
.pipe(map(function(file) {
var fileObj = require(file.path);
...
}))
Теперь, если я пытаюсь console.log(fileObj.APIS);
я получаю правильные значения. То, что я до сих пор путают о том, как я могу передать эти V alue on и создать один файл из всех этих vars. Можно ли вставлять их в массив?
Спасибо. Я пытаюсь обойти эту проблему: если я сохраню экспорт в файле .js вместо файла .ts, я могу получить к ним доступ, используя require. Теперь моя проблема заключается в том, как собрать все эти vars в один файл json. – Ayelet
@Ayelet Просмотреть мое редактирование – Alex
Спасибо, он отлично работает! :) – Ayelet