AMD互換モジュールを生成するときに外部AMDモジュールが依存関係として自動的に含まれるようにTypescriptモジュールをインポートまたは注釈を付ける方法はありますか?:
tsc --module AMD example.ts
参照*.d.tsファイルを含めることと、declareステートメントをエクスポートすることの両方を含めようとしました。
///<reference path='./lib/knockout-2.2.d.ts' />
export declare var $;
export declare var _;
export module example {
export class Example {
// whatever
}
}
ただし、生成されたモジュールには次のものは含まれていません。
define(["require", "exports"], function(require, exports) {
(function (example) {
var Example = (function () {
function Example() { }
return Example;
})();
example.Example = Example;
})(exports.example || (exports.example = {}));
var example = exports.example;
})
ここで「偽の」モジュールを作成することは本当に避けたいと思います。
良い解決策と使用法は、AMDモジュールを直接インポートできるようにすることだと思われます。
var $ = import('jquery'); // This is a requirejs/AMD module, not a typescript file.
しかし、それがどれほど実現可能かはわかりません。
編集:
そして、私はここで言及されているこのアプローチも試しました:amdで使用するためにアンビエント定義のみを使用してTypeScriptモジュールをインポートします
import knockout = module("./lib/knockout-2.2.d.ts");
...
しかし、これらのコンパイラエラーが発生します。
example.ts(1,32): The name '"./lib/knockout-2.2.d.ts"' does not exist in the current scope
example.ts(1,32): A module cannot be aliased to a non-module type