2016-05-09 4 views
0

Ich habe vor kurzem an einem kleinen Projekt gearbeitet, und rannte in diese Frage der tatsächlichen mein Projekt mir im Rest der Seite zugänglich.Making kompilierten Typoskript-Code global zugänglich

Hier ist der Deal:

Es ist ein Javascript-Router. Tun Sie das nur aus Interesse. Ich habe meinen Typskript-Compiler bereits über grunt und mein Modul Laden und Verketten über grunt-requiredjs eingerichtet.

Hier ist die Grunzen-Datei: https://github.com/Forestdev/jsRoute/blob/master/gruntfile.js

Der Ausgang scheint jedoch kein Export zu Fenster zu erzeugen. Ich habe gegooglet, wie man meinen Code in Fenster oder irgendwo wirklich exportiert, damit andere Javascript-Akten darauf zugreifen konnten.

Könnte dies das Problem mit Wrapper sein? Muss ich einen benutzerdefinierten Wrapper für all dies einfügen? Was ist die allgemeine Faustregel, um Ihr Typoskript-Projekt global zu machen?

Edit:

vergessen die Index-Datei zur Liste: https://github.com/Forestdev/jsRoute/blob/master/src/index.ts

Ignorieren Sie die Zeile mit der neuen Instanz eines Objekts. Ich möchte dieses Objekt exportieren, damit jeder andere selbst eine neue Instanz erstellen kann.

Antwort

0

Es wurde ein Weg gefunden, mit dem globalen Geltungsbereich umzugehen.

Innerhalb Grunzen build requirejs Skript habe ich einen benutzerdefinierten Wrapper, die lautet:

wrap: { 
    start: '(function(global) {', 
    end: 'global.JSRoute = global.JSRoute || require("index").Router; }(window));' 
} 

Dies scheint das Problem zu beheben ich zu einem globalen Umfang des Exports mein Skript hatte. Dadurch wird das Skript auch beim Laden des Fensters korrekt geladen, sodass andere Skripts sofort darauf zugreifen können.

Hope das macht Sinn. Hoffentlich ist dies der richtige Weg, es auch zu tun.