/ /ノックアウトバンドルが正しく生成されない - asp.net、asp.net-mvc-4、knockout.js、bundle

ノックアウトバンドルが正しく生成されない - asp.net、asp.net-mvc-4、knockout.js、bundle

私は以下のバンドルを定義しています:

var knockoutBundle = new ScriptBundle("~/bundles/knockout.js")
.Include("~/Scripts/knockout-{version}.debug.js");

ただし、アプリケーションの公開時に debug="false" 次のHTMLを生成します

<script src="/bundles/jquery.js?v=Cr8InFU-vbrPmGYYWNIXAturiBR7q9wkkgxep6VV4EU1"></script>
<script src="/bundles/bootstrap.js?v=GTjK0zIjX1_Mx7GIKofGDUgYcnSrCJvTYHNkjkMKWC01"></script>
<script src="/bundles/knockout.js?v="></script>

ノックアウトのリンクは空です(v =値がないことにも注意してください)

私はデバッグを変更する場合 true これを生成し、うまく動作します:

<script src="/Scripts/jquery-2.0.3.js"></script>
<script src="/Scripts/jquery.cookie.js"></script>
<script src="/Scripts/bootstrap.js"></script>
<script src="/Scripts/knockout-2.3.0.debug.js"></script>

回答:

回答№1の場合は3

あなたを取り除く .debug バンドル定義のサフィックス:

var knockoutBundle = new ScriptBundle("~/bundles/knockout.js")
.Include("~/Scripts/knockout-{version}.js");

デバッグモードで実行すると、次のように生成されます。

<script src="/Scripts/knockout-2.3.0.debug.js"></script>

リリースモードで実行している場合:

<script src="/bundles/knockout.js?v=VqZ0J9f3e7QvvRrMNGAzEkpXKvaJMNRA8LqjNIoUGqs1"></script>

明らかにこれはあなたが knockout-2.3.0.debug.js そして knockout-2.2.0.js [Scripts]フォルダに保存します。バンドルエンジンは、アプリケーションがデバッグモードまたはリリースモードで実行されているかどうかに基づいて適切なファイルを使用します。