2016-06-28 7 views
2

私は自分自身を教えているAngular2(未来の波、明らかに)、私は実験的になっています。Angular2とASP.NET MVC

http://www.ibrahimuludag.com/2016/01/angular2-and-visual-studio.html

とうまく動作します:私はここイブラヒムウルダーのチュートリアルを追いました。しかし、私はさらに一歩進んで、Ibrahimが示唆しているように、TypeScriptプロジェクトの代わりにMVCプロジェクトを使用したいと考えています。私はシンプルな構造(1つのコントローラ、1つのビュー)を使用しています。私はAngular2 JavaScriptリファレンスをヘッダ、ボディなどとともにビューに追加しました。私はファイル名の前にスラッシュをつけなければなりませんでした。さもなければ、サーバーはそれらをコントローラ/ビューの参照として解釈します。その部分は正常に動作します。

私が持っている問題は、このコマンドを使用することです:

System.config ({ 
    packages: { 
     app: { 
      format: 'register', 
      defaultExtension: 'js' 
     } 
    } 
}); 
System.import ('app/boot') 
    .then (null, console.error.bind(console)); 

私はhttp://localhost/Default/app/bootを見つけるためにしようとしているデバッガから見ることができます - 「デフォルト」の部分は私のコントローラの名前(起こった同じ問題点私は直接のJavaScript参照にスラッシュを含めなかった)。私は "app/boot"のプレフィックスにスラッシュ( "/ app/boot")を付けて試してみました。この場合、boot.tsは見つかるでしょうが、依存関係もなく、URLにコントローラ名が追加されます。

System.importディレクティブの情報が見つかる場所はどこですか?

ありがとうございます。

+0

'System.import'呼び出しは、メインファイルをインポートするようにSystemJSに指示します。あなたの場合、' boot.js'ですか? – AngJobs

答えて

1

まず、私はあなたの角2の世界に飛び込むためにあなたを推薦します。

System.importはSystemJSの一部です。 SystemJSは角度2が使用するモジュールローダーであり、新しいファンシーなjavascript仕様はブラウザによってファイナライズされ、実装されます。 System.importの詳細については、を参照してください

https://github.com/systemjs/systemjs

私はあなたの問題は、MVCは、モジュールをロードしようとしているではない方SystemJsと静的ファイルを、提供されている方法であると信じています。これは、プロジェクトのルートにアプリフォルダにあるJSファイルを無視するようにMVCを教えてください

routes.IgnoreRoute("app/{file}.js"); 

:あなたのRouteConfig.csファイルで Using ASP.NET routing to serve static files

は、こちらの記事を参照してください。 SystemJSはモジュールを適切にロードできるはずです。

+0

お返事ありがとうございます。私はそれを打ち明け、あなたに知らせるでしょう。 – rexthestrange

+0

ああ、参考にしていただきありがとうございます。私もそれらをチェックします。 – rexthestrange

+0

Nope。それはそれをしていないようでした。このファイルはGitHubのhttps://github.com/widgetinc/Angular-2-MVCにあります。 – rexthestrange