Ich habe mehrere Typoskript-Dateien, einige von ihnen exportieren eine Const namens APIS
.Zugriff auf Typoskript-Datei Variablenwerte mit Schluck
Ich versuche, auf diese Exporte zuzugreifen (ich möchte alle zu einer einzigen Datei verketten), aber es scheint nicht zu funktionieren. Ich mache offensichtlich etwas falsch, aber ich bin mir nicht sicher was.
Zum Beispiel habe ich einen Ordner namens services mit 2 Dateien: service1.ts, service2.ts.
service1.ts:
...
export const APIS = [ { "field1" : "blabla" } ];
service2.ts: enthält nicht die APIS
var.
Das ist mein 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/'));
});
Wenn ich diese Aufgabe ausführen, bekomme ich nichts. Als ich die Kartenfunktion console.log(file.APIS);
hinzugefügt habe, bekomme ich undefined
für alle Werte (obwohl es in service1.ts definiert ist!).
Dies folgt auf: Extracting typescript exports to json file using gulp
EDIT: OK, also habe ich versucht, anstelle einer .ts-Datei, die Ausfuhren in einer Js-Datei speichern und jetzt kann ich diese Vars require
mit Zugang:
gulp.task (‚default‘, function() {
return gulp.src('./**/*.service.export.js')
.pipe(map(function(file) {
var fileObj = require(file.path);
...
}))
Nun, wenn ich console.log(fileObj.APIS);
versuchen bekomme ich die richtigen Werte. Was ich immer noch verwirrt bin, ist, wie ich diese v passieren kann alue on, und erstellen Sie eine einzige Datei aus all diesen vars. Ist es möglich, sie in ein Array zu schieben?
Danke. Ich versuche, dieses Problem zu umgehen: Wenn ich die Exporte in einer .js-Datei anstelle von .ts-Datei speichern, kann ich mit require darauf zugreifen. Jetzt ist mein Problem, wie man alle diese vars in eine einzelne json Akte sammelt. – Ayelet
@Ayelet Siehe meine Bearbeitung – Alex
Danke, es funktioniert perfekt! :) – Ayelet