Asp.net mvc 是否有创建捆绑包的方法?
我希望在BundleConfig.cs文件中加载每页最少数量的文件,而不包含大量冗余代码Asp.net mvc 是否有创建捆绑包的方法?,asp.net-mvc,Asp.net Mvc,我希望在BundleConfig.cs文件中加载每页最少数量的文件,而不包含大量冗余代码 var thirdPartyScriptBundle = new ScriptBundle("~/bundle/core").Include( "~/Scripts/jquery-{version}.js", // JQuery Core "~/Scripts/bootstrap.js",
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>
但从网络流量来看,文件本身是空的
有人有办法让这一切顺利进行吗?今天,我的网站有许多不同的页面,每个页面都使用独特的捆绑包组合。我不想让每个页面加载多达7个捆绑包,而是想找到一种方法,将其组合成每页1个脚本捆绑包和1个css捆绑包
如果有人也有,我会采取另一种解决方案 首先,
@Scripts.Render(“~/bundles/landingmerge”)
不在代码中。所以很明显你不能渲染它。要使绑定工作,您需要将启用优化
设置为true。所以基本上我不理解你关于大型网站和文件的问题。很抱歉。错误的剪切和粘贴错误。我更新了我试图在页面中呈现的合并包的名称,以便于澄清。无论是否启用优化,合并的捆绑包都不存在。很抱歉对该问题进行了多次编辑。几个小时来,我一直在用头撞这个。我认为我目前的编辑准确地表达了我的问题。使用~/bundle/page1merged不起作用。您是否尝试过加载单个bundle?除了创建捆绑包的捆绑包
,您还不能在另一个捆绑包中包含捆绑包include
方法获取物理文件的虚拟部分。而不是让每个页面加载多达7个bundle
,这是不正确的。浏览器可以缓存您的JS
和CSS
文件,并且不会每次都进行后续请求,除非您可以在捆绑包中的任何文件中添加内容。因此,我认为您无需担心加载多个bundle来提高性能。
<script src="/bundle/page1merged"></script>