2013-07-15 57 views
6

我正在使用bundleconfig.cs類將一些jQuery腳本文件添加到我的應用程序中。MVC 4 BundleConfig未創建腳本引用

bundles.Add(new ScriptBundle("~/bundles/jquery").Include(
        "~/Scripts/jquery-{version}.js", 
        "~/Scripts/jquery-ui-{version}.js", 
        "~/Scripts/jquery.mCustomScrollbar.min.js", 
        "~/Scripts/jquery.mousewheel.min.js", 
        "~/Scripts/jtable/jquery.jtable.js")); 

當我運行我的應用程序,並檢查頁面的源代碼,只有一些腳本文件的引用:

<script src="/Scripts/jquery-1.10.2.js"></script> 
<script src="/Scripts/jquery-ui-1.10.3.js"></script> 
<script src="/Scripts/jtable/jquery.jtable.js"></script> 
<script src="/Scripts/jquery-migrate-1.2.1.min.js"></script> 

爲什麼會這樣發生?我可以通過手動將腳本引用直接添加到_Layout.cshtml來解決此問題,但這不是最佳實踐。

+0

確定的文件存在,並且你指向他們的確切相對URL?像這樣的大多數問題是因爲無法找到文件。 – MartinHN

回答

14

.min一部分已經被處理的MVC - 它會自動包括的.js文件調試模式和.min.js文件發佈模式。

只需下載的jquery.mCustomScrollbar.min.js的unminified版本,並把它放在你的scripts目錄,那麼其引用爲: jquery.mCustomScrollbar.js

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

MVC然後將加載相應的腳本進行調試/發佈

+0

謝謝你的刀鋒。似乎你擊中了頭部。所有腳本引用現在都被正確包含。 – Swifty

+0

沒問題,我第一次使用捆綁發生在我身上:) – CodingIntrigue

+0

謝謝!剛剛花了幾個小時追逐我的尾巴....演示的明天:| – tg2

2

可能是因爲您沒有啓用捆綁。 嘗試在編譯改變debug屬性值設置爲false

<compilation debug="false" targetFramework="4.0" /> 

或手動啓用它:

BundleTable.EnableOptimizations = true;