2016-09-23 12 views
0

は、アプリがWindows認証をIIS上でホストされると、私はいくつかの質問を持っている:角度IISとDEVと生産の2とのWebPACK

  1. Angular 2の主な例としてsystem.configを使用する必要がありますか? もしそうなら、生産についてはどうすればよいですか?
  2. webpackをangular-cliとして使用する必要がありますか?もしそうなら、どうすればWebpack Devサーバー(Hot reloading、sass trans-pilersなど)の利点をWindowsの認証でホストしている と組み合わせることができますか?

ご質問が無関係ですが、私は.NET開発者で、Angular 2とWebpackを初めて使用しています。

答えて

0

私はウェブパックで角張ったクリスをお勧めします。ホットモジュールのリロードはすでに統合されており、バンドルやツリーシェーキング機能を備えた開発環境や生産環境をそのまま利用できます。

+0

Thxを@Alexander Ciesielskiが、私はIISの傘の下で開発していないよ場合どのように私は、Windows認証を行うことができます? –

+0

私はIISで開発することについて知らないが、HTTP上での認証を意味するなら、それは可能でなければならない –

1

角度2アプリを開発するには、角度cliを使用できます。 IIS上の実稼働環境にアプリケーションをデプロイするには、次のコマンドを使用します。 ng-build --projectコマンド(angle-cliコマンドプロンプト)これにより、destフォルダーに展開するために必要なファイルが生成されます。これらは、あなたのアプリが使用するHTML、JavaScript、CSSなどのアセットだけです。 destフォルダの内容をコピーし、IIS Webアプリケーションのフォルダに展開できます。

注: 角2ルーティング(ハッシュ付き)はIISで問題なく動作します。すべてのリクエストを角度アプリのindex.htmlファイルにリダイレクトするデフォルトのURL書き換えルールを作成してください。ルールはJS必要なファイルと実際の角度アプリのURL(すなわちのindex.htmlまたはindex.htmlに#/ {ルート値}以外のindex.htmlをするためにすべての要求をリダイレクトします

EX:<ルール> <ルール名=」デフォルト "> <一致URL ="(。*).js | index.html(。*) "否定=" true "/ > <アクションタイプ="書き換え "url ="/index.html "/ > </rule > < /ルール>

IISで角2ルーティング(ハッシュなし)は動作しません。純粋なHTMLアプリケーションの場合、IISは着信要求をルーティングし、そのページがその場所に存在しない場合は、エラーページへのリクエストを指示します。

.Net MVCアプリケーションの場合は、すべての着信リクエストURLを処理して角度インデックスビューにリダイレクトするデフォルトルートを作成できます。

MVCアプリケーションの例ルート:

routes.MapRoute(
    name: "Angular", 
    url: "{*url}", 
    defaults: new { controller = "Home", action = "Index", id =  UrlParameter.Optional }, 
    constraints: new { url = new AppFeatureUrlConstraint() } 


public class AppFeatureUrlConstraint : IRouteConstraint 
    { 
    public bool Match(HttpContextBase httpContext, Route route, string parameterName, RouteValueDictionary values, RouteDirection routeDirection) 
    { 
    if (values[parameterName] != null) 
    { 
     var url = values[parameterName].ToString(); 
     if (url.StartsWith("angular/", StringComparison.InvariantCultureIgnoreCase)) 
      return true; 
     else 
      return false; 
    } 
    return false; 
    } 
} 
関連する問題