web-dev-qa-db-ja.com

バンドルスクリプトファイルがレンダリングされていません。

スクリプトファイル名:

jquery.transit.min.js

ファイルはScriptsフォルダーにあり、

bundles.Add(new ScriptBundle("~/bundles/jquery")
       .Include("~/Scripts/jquery-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryui")
       .Include("~/Scripts/jquery-ui-{version}.js"));

bundles.Add(new ScriptBundle("~/bundles/jqueryval")
       .Include("~/Scripts/jquery.unobtrusive*", "~/Scripts/jquery.validate*"));

bundles.Add(new ScriptBundle("~/bundles/jtransit")
       .Include("~/Scripts/jquery.transit*"));

Viewで、

@Scripts.Render("~/bundles/jquery","~/bundles/jtransit")
@Scripts.Render("~/bundles/jqueryui")
@Scripts.Render("~/bundles/jqueryval")

レンダリングされたHTML

<script src="/Scripts/jquery-1.8.3.js"></script>
<script src="/Scripts/jquery-ui-1.9.2.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>

jquery.transit.min.jsはレンダリングされません。私は何が欠けていますか?

29
Bilal Fazlani

ファイルの.minバージョンしか持っていないからだと思います。

出力から、サイトのデバッグビルドを実行していることがわかります。このように、バンドラーは縮小されていないファイルを探していると思います。

リリースビルドを行う場合、OKにバンドルされます。

トランジットファイルの縮小されていないバージョンを取得し、それをScriptsフォルダーに含めることをお勧めします。それに失敗した場合は、ファイル名に.minを含めずに、縮小版のコピーを作成します。

48
ngm

MVC4、JavaScriptファイルまたはCSSファイルの最小化バージョンは、デバッグモードではignoredです。 ngmが示唆するように、ファイルの名前を変更する必要があります。

jquery.transit.min.js

に、

jquery.transit.js

または、bundles.IgnoreListここ のように、最小化されたファイルのレンダリングを許可します。

16
rae1

Application_Startでこれを行う必要がありました。

BundleTable.EnableOptimizations = true;
7
Daniel

私の場合、同じ名前のスクリプトバンドルとスタイルバンドルを使用しようとしました。

BundleConfig.cs:

_bundles.Add(new ScriptBundle("~/bundles/custom")
    .Include("~/Scripts/custom.js"));

bundles.Add(new StyleBundle("~/bundles/custom")
    .Include("~/CSS/custom.css"));
_

_Layout.cshtml:

_@Scripts.Render("~/bundles/custom")
@Styles.Render("~/bundles/custom")
_

これは機能しません。構成に追加された最後のバンドルは存続し、@Scripts.Render("~/bundles/custom")は空の行をレンダリングするだけです。

MVC 5.2.3を使用しています。

3
R. Schreurs

上記の質問のいずれでも問題が解決しない場合、この行が欠落している可能性があります

BundleConfig.RegisterBundles(BundleTable.Bundles);

global.asax.csファイルから、バンドルを開始する場合は、このサイトをご覧ください。 https://www.asp.net/mvc/overview/performance/bundling-and-minification

1
dim_user

私の場合、Visual Studio 2013はバンドルCSSファイルが欠落していると考えていたため、ソリューションエクスプローラーでファイル名の上に黄色の疑問符が表示されました。

これらすべてのおそらく欠落しているファイルをダブルクリックすると、Visual Studioがそれらを見つけ、黄色の質問が却下をマークし、バンドリングがチャームのように再び動作を開始します。

0
Tomas Kubes