Typoskript AMD-Implementierung schlecht mit Javascript / RequireJS

Wenn ich dieses ts Modul habe:

export function say(){
    console.log("said");
}

und ich kompiliere es mit der amd-Option, die ich ganz einfach von einem ts-Client aus verwenden kann:

import foo = module("tsmodule")
foo.say();

export var x = 123;

Wenn ich jedoch Javascript habe, das dem ts-Modul entspricht:

define(["require", "exports"], function(require, exports) {
    function say() {
        console.log("said");
    }
    exports.say = say;
})

Es gibt keine einfache Möglichkeit, es zu verwenden. Die einfachste mögliche Lösung:

// of course you can use .d.ts for requirejs but that is beside the point
declare var require:any;

// will fail with error module has not been loaded yet for context
// http://requirejs.org/docs/errors.html#notloaded
var useme = require("jsmodule")
useme.say();

export var x = 123;
import foo = module("tsmodule")
foo.say();

schlägt aufgrund eines Fehlers fehlhttp://requirejs.org/docs/errors.html#notloaded . Da "jsmodule" im generierten Typoskript nicht an den define-Aufruf übergeben wurde.

Die zwei Problemumgehungen, die ich habe

Verwenden Sie nicht den Import / Export (Sprachfunktionen gehen verloren)use require ([]) (kann immer noch nichts exportieren, was vom Aufruf require ([]) abhängt)

Einschränkungen haben:https://github.com/basarat/typescript-requirejs . Gibt es eine andere Art und Weise? Wenn nicht, können Sie hier abstimmen:https://typescript.codeplex.com/workitem/948 :)

Antworten auf die Frage(1)

Ihre Antwort auf die Frage