角度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;
}
}
Thxを@Alexander Ciesielskiが、私はIISの傘の下で開発していないよ場合どのように私は、Windows認証を行うことができます? –
私はIISで開発することについて知らないが、HTTP上での認証を意味するなら、それは可能でなければならない –