2017-10-29 1 views
-3

Ich entwickle ein Hobby-Projekt, wo ich CefSharp verwenden, um eine C# .NET-Anwendung mit einem Winkel Typoskript Schnittstelle zu bauen.Typoskript - lief Funktionen nach Typoskript Kompilieren

Im Moment ist WebSockets bin mit zurück an das Backend zu reden, habe ich meine eigene websocket Implementierung in C# (der Teil des Problems sein könnte, das ich habe). Das Problem ist die Tatsache, dass mein Backend manchmal keine Nachricht vom Frontend erhält, während es sollte, was ich etwas durch das Senden einer völlig zufälligen Nachricht nach der Nachricht, die gesendet werden muss, behoben habe (ich hatte dieses Problem nicht in Chrome selbst, begann nur CefSharp dieses Problem zu haben).

Nun lese ich auf CefSharp und kam über die Tatsache, dass Sie JavaScript-Methoden von C# ausführen können, die im Grunde die Notwendigkeit WebSockets lösen würden.

Das einzige Problem, das ich hier sehe, ist, dass ich nicht Funktionen in Typoskript geschrieben laufen/finden nach dem Kompilieren. Gibt es eine Möglichkeit, reine JavaScript-Funktionen zu erstellen, auf die nach dem Kompilieren von TypeScript noch zugegriffen werden kann? Und, nicht unwichtig, können diese JavaScript-Funktionen TypeScript-Funktionen aufrufen (wie Funktionen von anderen Diensten)?

Ein anderes Beispiel ist: kann ich Typoskript Funktionen aus der Chrome-Konsole ausführen?

+1

Nach dem Übersetzen, dann ist es ** alle ** JS. Dafür kompiliert TS, das ist "TSC". – jonrsharpe

+0

Ich weiß, dass das einzige Problem ist, dass ich keine Ahnung habe, wie ich auf eine bestimmte Funktion im kompilierten JS zugreifen kann. Es gibt nicht viele Informationen zu finden, oder meine Google-Fähigkeiten fehlen x). –

Antwort

1

Wenn Ihr Typoskript Funktionen im globalen Bereich sind, werden die kompilierten JavaScript-Funktionen auch im globalen Bereich, so dass Sie sie nur von der Konsole aufrufen können. Wenn Sie importexport und Module verwenden, ist Ihr Code im globalen Gültigkeitsbereich nicht verfügbar. Websockets scheinen in diesem Fall eine gute Idee zu sein.

Typoskript

class Test{ 
    doSomething(){ 
     console.log("hi!") 
    } 
} 

Javascript

ES5 zusammengestellt
var Test = (function() { 
    function Test() { 
    } 
    Test.prototype.doSomething = function() { 
     console.log("hi!"); 
    }; 
    return Test; 
}()); 

aus der Browser-Konsole oder die C# Anwendung

let t = new Test(); 
t.doSomething(); 
Verwandte Themen