1

次のバンドルが定義されています。

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>
4

1 に答える 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>

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

于 2013-09-25T17:22:20.257 に答える