2016-08-08 18 views
0

Ich versuche, einige universelle Javascript-Code für Knoten und Browser sauber zu schreiben.In Typoskript, wie man eine Tippreferenz auf eine bestimmte Datei beschränkt?

Der meiste Code ist env-agnostic, jedoch erkennen einige Implementierungsteile die Umgebung (Knoten oder Browser) und führen bedingt unterschiedlichen Code aus.

Ich möchte Node Typings ONLY für diese spezifischen Dateien aktivieren. Ich konnte jedoch keinen Weg finden, dies zu tun. Entweder:

  • Knoten Typisierungen, wenn nur in auch nur eine Datei referenziert werden wirksam gemacht für alle Dateien (sehr schlecht, da ich versehentlich auf Knoten Spezifitäten verlassen konnte)
  • wenn nicht Knoten Typisierungen Referenzierung überhaupt, Typoskript offensichtlich beschwert sich über viele unbekannte Definitionen, die schmerzhaft wären, um von Hand zu patchen

Hat jemand eine saubere Möglichkeit, einige Typdefinitionen für eine ausgewählte Gruppe von Dateien zu aktivieren?

+0

Schreiben Sie die Definitionen oder verwenden Sie Definitionen, die von jemand anderem geliefert wurden? Wenn Sie Ihre Definitionen schreiben und sie als [externes Modul] (https://www.typescriptlang.org/docs/handbook/modules.html) schreiben, sollten Sie den globalen Namespace nicht mit irgendetwas füllen, und Sie haben gewonnen brauche keine Referenzen. Stattdessen müssten die Client-Dateien Importe importieren, die ähnlich wie "Import", "Blah" und "Bar-Modul" in jeder Datei sind, in der sie "Foo" oder "Blah" verwenden möchten. – Pace

+0

Sorry, habe gerade diesen Kommentar überdenken und Sie sollten noch Referenzen benötigen. Der Rest des Kommentars ist dennoch gültig. – Pace

+0

@Pace Ich spreche explizit über node.js typings, die ich nicht geschrieben habe und die global sind ... – Offirmo

Antwort

0

Es ist zu diesem Zeitpunkt nicht möglich.

Eine Lösung: knotenabhängige und knotenunabhängige Dateien getrennt erstellen. Dies könnte automatisch mit einem Skript erfolgen.