レガシーJSシステムの一部でTypeScriptを使用しようとしています。 このシステムでは、アプリケーションの起動時にmain.jsが実行されるRequireJS環境で実行される多くのアプリケーションが存在します。私はこの構造を作成しましたTypeScript 1.8のモジュールの相対的なモジュール名の解像度がRequireJS 2.1のAMDスタイルモジュール
モデルは生成されたコードであり、.JSファイルのままでなければなりません。 異なる.tsモジュールの 'Require'ステートメントによってモデルを要求する必要があります。
私はモジュールファイル内の宣言ファイルでこのようなものを使用して、.tsファイルをコンパイルする方法を知っています。
declare module "Models/model1" { var x:any; export = x;}
しかし、コードは、これはmyModule.ts
define(["require","exports","Models/model1", function(require,exports,model){ ...
ため、このようなAMDのモジュール定義を作成しますので、実行されませんが、パスが
http://mysite/Models/model1.js
としてRequire.JSによって解決さパスは相対パスであり、RequireJSのコンテキストルートから絶対パスでなければならないため、パスセクションが欠落しています。私は、生成されたファイルなので、TSとしてモデルを持つことはできません。 .ts に名前を変更するだけではコンパイルされません。また、アプリケーションがハーネス、生産、単体テストの設定で異なる方法で実行されるため、非相対パスは使用できません。
質問: TypeScriptにJavaScript(.js)モジュールの相対パスを生成させる方法はありますか?