2017-04-07 7 views
1

Systemjsによるリクエストを取得すると、URLに拡張子.jsが追加されていません。TypeScriptとSystemjsでextention jsを持つモジュールをロードできません

これらは

customer.ts

import {Address} from "./Address"; 

export class Customer { 
    private _customerName: string = ""; 
    public CustomerAddress: Address = new Address(); 
    public set CustomerName(value: string) { 
     if (value.length == 0) { 
      throw "Customer Name is required"; 
     } 
     this._customerName = value; 
    } 
    public get CustomerName() { 
     return this._customerName; 
    } 
    Validate(): boolean { 
     return this._customerName != ''; 
    } 
} 

address.ts Systemjsのinitコード

System.config({ 
     defaultExtension: 'js', 
}); 
System.import("Customer.js").then(function (exports) { 
     var cust = new exports.Customer(); 
}); 

Customer.jsがLOAある以下の使用

export class Address { 
    public Street1: string = ""; 
} 

私の活字体のクラスです成功しましたが、Address.jsはそうではありません。

Address.jsためのGETリクエストは、私が

import {Address} from "./Address.js"; 
を以下にcustomer.tsに次のコードを更新しようとした の.jsコンソールで次の要求

GET http://localhost:65401/Address 404 (Not Found). 

を結果拡張子 が含まれていません

しかし構文的に間違っており、VS2013でエラーが表示されます。

どのようにしてSystemjsにGET要求に".js"を追加させることができますか?

おかげ

答えて

1

defaultExtensionキーワードは、トップレベルの設定オプションではありません。 https://github.com/systemjs/systemjs/blob/master/docs/config-api.md#packages

これは無視され、SystemJSはその拡張子を追加しないという理由があります。これは、packagesディレクティブの下にある必要があります。 1つの「グローバル」パッケージを定義することができます。これはおそらく、すべてのインポートパスに拡張子が常に付加されることを確認する最も簡単な方法です。

SystemJS.config({ 
    packages: { 
    '.': { 
     defaultExtension: 'js' 
    } 
    } 
}); 
+0

私のために働きました。ありがとう!! – Mayank