有没有创建捆绑包的方法?

时间:2016-01-16 06:42:17

标签: asp.net-mvc

我想在BundleConfig.cs文件中加载每页最少的文件数而不需要很多冗余代码。

var thirdPartyScriptBundle = new ScriptBundle("~/bundle/core").Include(
            "~/Scripts/jquery-{version}.js",                   // JQuery Core
            "~/Scripts/bootstrap.js",                          // Bootstrap
            "~/Scripts/knockout-{version}.js",                 // Knockout
            "~/Scripts/underscore.js",                         // Underscore
            "~/Scripts/moment.js"                              // Moment
            );
bundles.Add(thirdPartyScriptBundle);

var page1SpecificScriptBundle = new ScriptBundle("~/bundle/page1").Include(
            "~/Scripts/page1.js"
            );
bundles.Add(page1SpecificScriptBundle);


var page1MergedScriptBundle = new ScriptBundle("~/bundle/page1merged")
            .Include("~/bundle/core")
            .Include("~/bundle/page1");
bundles.Add(page1MergedScriptBundle );

不幸的是,当@Scripts.Render("~/bundles/page1merged")添加到视图时,不包含任何javascript文件。

使用BundleTable.EnableOptimizations = false我希望我的html包括:

<script src="/Scripts/jquery-2.2.0.js"></script>   
<script src="/Scripts/bootstrap.js"></script>
...
<script src="/Scripts/page1.js"></script>

但是那个地方的html是空白的。

使用BundleTable.EnableOptimizations = true,我看到了

<script src="/bundle/page1merged"></script>

但是观看网络流量,文件本身就是空的。

有没有人有解决方案让这项工作?今天,我的网站有许多不同的页面,每个页面使用独特的捆绑组合。我想找到一种方法将它组合成一个脚本包和每页1个css包,而不是让每个页面最多加载7个包。

如果有人也有替代解决方案,我会采取替代解决方案。

0 个答案:

没有答案