2014-11-20 69 views
1

在我們的頁面之一,我們有一個不合理的數量的jquery推入一個腳本標記。我試圖通過將代碼分離成幾個獨立的.js文件並使用ASP MVC 4 ScriptBundle來清理一些東西。ASP MVC 4捆綁不加載自定義js腳本

但是,Chrome顯示只顯示一個正在加載的腳本,該腳本有一個奇怪的名稱,看起來有點像GUID。

enter image description here

如果我選擇這個劇本,我可以看到,只有第一個.js文件中加載的包文件。第二個文件完全丟失。

BundleConfig腳本的

public class BundleConfig 
{ 
    // For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725 
    public static void RegisterBundles(BundleCollection bundles) 
    { 
     bundles.Add(new ScriptBundle("~/bundles/AgentTransmission").Include(
        "~/Scripts/AgentTransmission/SetFields.js", 
        "~/Scripts/AgentTransmission/MarketingDivision.js")); 
    . 
    . 
    } 
} 

屏幕截圖文件夾

enter image description here

.cshtml創建文件(查看)

@model MonetModelFromDb.Models.AgentTransmission 

@{ 
    ViewBag.Title = "Create new Agent"; 
} 


<div> 

    <meta http-equiv="cache-control" content="max-age=0" /> 
    <meta http-equiv="cache-control" content="no-cache" /> 
    <meta http-equiv="expires" content="0" /> 
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
    <meta http-equiv="pragma" content="no-cache" /> 

    <script src="@Url.Content("~/Scripts/jquery.maskedinput-1.3.1.js")" type="text/javascript"></script> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment-with-locales.min.js"></script> 
    @Scripts.Render("~/bundles/AgentTransmission") 

渲染HTML

<div> 

    <meta http-equiv="cache-control" content="max-age=0" /> 
    <meta http-equiv="cache-control" content="no-cache" /> 
    <meta http-equiv="expires" content="0" /> 
    <meta http-equiv="expires" content="Tue, 01 Jan 1980 1:00:00 GMT" /> 
    <meta http-equiv="pragma" content="no-cache" /> 

    <script src="/Scripts/jquery.maskedinput-1.3.1.js" type="text/javascript"></script> 
    <script src="//cdnjs.cloudflare.com/ajax/libs/moment.js/2.8.3/moment-with-locales.min.js"></script> 
    <script src="/bundles/AgentTransmission?v=2D1TPLuuUcxrXmQ8AbdEoyTUVF8BEXja9e0nXKAzs9Q1"></script> 

編輯

FYI我也是在調試模式

+2

它看起來像是與優化運行結束。在'RegisterBundles()'中執行'BundleTable.EnableOptimizations = false'強制它進入調試狀態。 – Jasen 2014-11-20 20:52:25

+0

工作。如果你想把它寫成答案,我會接受。 Thx – NealR 2014-11-20 21:00:01

+0

更完整的答案[here](http://stackoverflow.com/questions/11944745/asp-net-bundles-how-to-disable-minification?rq=1) – Jasen 2014-11-20 22:51:11

回答

0

運行當你 「發佈」 你的項目,並選擇 「配置」 是 「釋放」,系統將您的捆綁包與它們組合成一個具有「GUID」類名稱的單個文件。如果您使用「調試」配置發佈或構建您的項目,它會將每個單獨的文件作爲HTML中的單獨文件保留在捆綁包中。

0

添加以下語句到RegisterBundles()

BundleTable.EnableOptimizations = false