2017-11-03 7 views
0

MVC-pre-coreプロジェクトからCore 2バージョンへの移行@Scripts & @Stylesが削除されているのを見て驚きました。私は、@Scripts.Render("~/bundles/myApp")をショートカットとして使用して、必要なページに半ダースのファイルをインポートすることに頼っていました。今、私はそれらのファイルを必要とする各ページにすべてのファイルを綴る必要がありますか?MVCの@ Scripts.Renderメソッドの置き換えが必要

動作を複製する方法はありません。 Gulpを見てみましたが、配備のためのプロセッサのように思えます。

+0

anon downvotes ...更新されたフローがAAと同様に文書化されているマイグレーションドキュメントのパスを表示しますか? – justSteve

答えて

1

Scripts.RenderStyles.Renderの方法では、生成されたHTMLに単純なタグを追加する以外の方法は実際にはありません。あなたが話していることの肉 - 一つの呼び出しでロールアップされたスクリプト/スタイルの束 - はMVCによって提供されるバンドルです。 ASP.NETコアでは、バンドルを作成する方法は単純に変更されています。それはすべてです。

BundleConfig.csの代わりにbundleconfig.jsonがあります。 Scripts.Renderにバンドルを含める代わりに、バンドルされたスクリプトを直接参照するだけです。あなたのスタイルと同じように。デフォルトで

、「バンドル」(及び縮小さ)は、それぞれsite.min.jssite.min.css、にそれぞれsite.jssite.cssのための単一のバンドルがあります。だから、あなただけやると思います:このHTMLが出力に含まれるとき

<environment names="Staging,Production"> 
    <script src="~/js/site.min.js" asp-append-version="true"></script> 
</environment> 

environmentタグは単純に決定します。ここでは、環境がステージングまたはプロダクションである場合のみです。 scriptタグは "バンドル"へのハードリファレンスです。これはあなたのような何かを達成したであろうものと同等の機能である:

、唯一の次のスクリプトタグレンダリングしているだろう、それ自身
@Scripts.Render("~/bundles/site") 

:つまり

<script src="~/bundles/site?v=abc123"></script> 

、あなたが必要としませんがScripts.RenderStyles.Renderのメソッドは、実際には役に立たないためです。以前のバージョンのMVCでも、それらを避けてバンドルを直接指し示すタグを作成するだけでした。

ASP.NETコアでのバンドルおよび縮小の動作の詳細については、documentationを参照してください。

+0

詳細な回答に感謝します。私は確かに私はこの情報の少なくともいずれかの優れたマイグレーションドキュメントのいずれかで覆われて見てみたいです。 – justSteve

関連する問題