У меня есть несколько машинописных файлов, некоторые из них экспортируют константу с именем APIS
.
Я пытаюсь получить доступ к этим экспортным данным (я хочу объединить их все в один файл), но, похоже, это не работает. Я явно делаю что-то не так, но я не уверен, что.
Например, у меня есть папка с именем 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!).
Это следующее: Извлечение экспорта машинописного текста в файл json с помощью 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);
, я получу правильные значения. Что меня все еще смущает, так это то, как я могу передать эти значения и создать один файл из всех этих переменных. Можно ли вставить их в массив?