Wie verwende ich Bluebird mit aktuellem TypeScript?

Ich verstehe es einfach nicht. Sobald dies relativ einfach war, lud ich das Snippet von DefinitelyTyped herunter, nahm an, dass es global deklariert war, fügte das Skript hinzu und es funktionierte. Jetzt habe ich anscheinend keine andere Möglichkeit, einen komplexen Paketmanager und ein asynchrones Ladesystem zu verwenden, möglicherweise mit einem Optimierer für die Produktion.

Ideally Ich möchte nur einige TypeScript-Code wie folgt

// maybe some import?
Promise.resolve("foo").then(function(msg) { 
    console.log(msg);
}

Kompiliere auf ein JavaScript wie dieses:

Promise.resolve("foo").then(function(msg) { 
    console.log(msg);
}

Ich möchte, dass es in einem Browser oder in einer Minimalumgebung wie Rhino ausgeführt werden kann. Bei Bedarf kann ich require.js, almond.js, build with browserify oder was auch immer einfügen, aber ich möchte, dass es funktioniert, ohne XHR zu benötigen.

So weit ich versucht habe:

Mit globalen (Ambient-) Modulen: Keines mehr für Bluebird gefunden.Verwenden Sie ES6-Importe mit AMD-Modulen und setzen SieoutFile, um ein Paket meines Codes abzurufen und dann die Dateien in dieser Reihenfolge einzuschließen: almond.js, bluebird.js, my-code.js und ein Code, der das Hauptmodul erfordert, damit alles ausgeführt wird:Error: See almond README: incorrect module build, no module name (anscheinend dasbluebird.js Ich habe von der offiziellen Seite heruntergeladen und definiere keinen Namen in AMD, soll ich ihn selbst bauen oder was ...?)Das gleiche wie im vorherigen Punkt unter Verwendung von full require.js:missing bluebird.Das gleiche wie im vorherigen Punkt mit einer Beilagscheibe wie folgt:requirejs.config({shim: { bluebird: { exports: "Promise" }}}): exception from uncaught JavaScript throw: Error: Mismatched anonymous define() module und der gesamte Code von Bluebird in der Fehlermeldung.Patching der Bluebird-Definitionsdatei: Im ES6-Modus nicht zulässig:Subsequent variable declarations must have the same type.

Ich habe das Gefühl, ich habe zu viel Zeit für eine so scheinbar einfache Anfrage verschwendet, also werde ich versuchen, StackOverflow zu fragen:)

Antworten auf die Frage(4)

Ihre Antwort auf die Frage