10

Typescript で非匿名の AMD モジュールを作成する方法はありますか。次のようなモジュールを定義すると:

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

生成コードは次のとおりです。

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

次のような非匿名モジュールを定義するにはどうすればよいですか。

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

3 に答える 3

6

この機能は最近、このプル リクエストを介して TypeScript マスター ブランチに追加されました。AMD モジュール名を宣言するには、次の参照コメントを使用します。

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

次の JavaScript が生成されます。

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

于 2014-11-19T00:22:49.100 に答える
2

1202行目のファイルemitter.tsでわかるように(を検索してください" var dependencyList = ")、その実装はありません。

あなたはそれについてcodeplexで問題を開くことができます。

于 2012-10-18T15:22:46.780 に答える
1

TS 0.9.x では、AMD モジュールに名前を付けることができません。TS コンパイラは、次の形式の定義ステートメントのみを生成します。

define( ['dep1', 'dep2', ..., 'depN'], function( __dep1__, __dep2__, ..., __depN__ ) {... } );

TS フォーラムでの議論: https://typescript.codeplex.com/discussions/451454

于 2013-08-01T22:19:12.177 に答える