Skapa icke-anonyma AMD-moduler i TypeScript


Finns det ett sätt att skapa icke-anonyma AMD-moduler i Typescript. När jag definierar en modul på detta sätt:

export module Bootstrapper {
  export function run() {
    var i = 0;
  }
}

den genererade koden är:

define(["require", "exports"], function(require, exports) {
  (function (Bootstrapper) {
    function run() {
        var i = 0;
    }
    Bootstrapper.run = run;
  })(exports.Bootstrapper || (exports.Bootstrapper = {}));
})

Hur kan jag definiera en icke-anonym modul som detta:

define('bootstrapper', ["require", "exports"], function(require, exports) {
  (function (Bootstrapper) {
    function run() {
        var i = 0;
    }
    Bootstrapper.run = run;
  })(exports.Bootstrapper || (exports.Bootstrapper = {}));
})

Svar #1

Denna funktion lades nyligen till i TypeScript master-gren via denna pullförfrågan. Att deklarera ett AMD-modulnamn görs med följande referenskommentar:

/// <amd-module name='MyModuleName'/>

kommer att producera följande JavaScript:

define("MyModuleName", ["require", "exports"], function (require, exports) { ... }

Svar #2

Som du kan se i filen emitter.ts på rad 1202 (sök efter " var dependencyList=") finns det ingen implementering för det.

Du kan öppna ett ärende på Codeplex om det.

Relaterade artiklar