Tag: asp.net optimization

ASP.NET MVC4与Twitter Bootstrap捆绑

我试图在Twitter引导中使用MVC 4中的新捆绑function,在我看来像通向graphics文件的pathpng-files int在css get以某种方式搞砸了。 下面是我的代码: bundles.Add(new StyleBundle("~/bundles/publiccss").Include( "~/Static/Css/bootstrap/bootstrap.css", "~/Static/Css/bootstrap/bootstrap-padding-top.css", "~/Static/Css/bootstrap/bootstrap-responsive.css", "~/Static/Css/bootstrap/docs.css")); bundles.Add(new ScriptBundle("~/bundles/publicjs").Include( "~/Static/Js/jquery-1.7.2.js", "~/Static/Js/bootstrap/bootstrap.js", "~/Static/Js/cookie/jquery.cookie.js")); 我没有看到button上的任何图标,同样。 我在这里做错了什么? 有什么build议么?

捆绑.js文件与CDN

为了提高我们的网页的性能,我们build议使用CDN在我们的网页上提供.js文件。 这就说得通了。 另外,我们build议将我们的.js文件捆绑在一起,以减less加载到服务器的请求数量。 所以,如果我们使用CDN或捆绑的.js文件,我们需要坐下来做出决定。 优缺点都有什么? 哪些更有意义?

当优化设置为true时,MVC4 – Bundling不起作用

我想知道我在这里做的不对。 我正在使用ASP.NET C#MVC4,我想利用新的CSS / JS优化function。 这是我的HTML部分 @Styles.Render("~/content/css") 这是我的BunduleConfig.cs部分 bundles.Add(new StyleBundle("~/content/css").Include( "~/content/css/reset.css", "~/content/css/bla.css")); // BundleTable.EnableOptimizations = true; 输出(工作): <link href="/content/css/reset.css" rel="stylesheet"/> <link href="/content/css/bla.css" rel="stylesheet"/> 但是,当我取消注释BundleTable.EnableOptimizations = true; html输出看起来像这样 <link href="/content/css?v=5LoJebKvQJIN-fKjKYCg_ccvmBC_LF91jBasIpwtUcY1" rel="stylesheet"/> 这当然是404.我不知道我做错了什么地方,请帮忙,第一次使用MVC4。

盒式磁带捆绑与MVC4捆绑

我目前正在开发一个原型ASP.NET MVC 3解决scheme,它将被用作几个项目重写(从Web表单)的基础。 我的目标之一是在应用程序中实现一些脚本pipe理,而不是我们目前没有的脚本pipe理。 MVC 3有一个缺陷恕我直言:如果你需要在部分视图或模板视图指定特定的脚本 – 你可能会失去控制脚本块位于呈现HTML中的位置或必须指定父视图中的每个单独的JavaScript文件。 我一直认真考虑使用http://getcassette.net/作为解决所述问题的框架。 然而,MVC4testing版的最后一个版本让我再一次怀疑自己:MVC的Bundles看起来和Cassette Bundles非常相似,我再次感到困惑: 我现在是否应该执行磁带并转移到MVC4捆绑包? 我应该自己实现一些简化的脚本pipe理器(如MVC4预览中的脚本辅助类),然后迁移到MVC4 还是应该将磁带整合到项目中,并希望它比MVC的实施更加面向未来(我现在真的不喜欢这个选项,只是因为依赖磁带数量庞大)。 我对Cassette本身并没有经验,并且发现自己很难进行比较,也不会感激任何答案或提示。 编辑:我只是觉得有另一种select:安装testing版包的MVC捆绑: https ://nuget.org/packages/Microsoft.Web.Optimization 结论:我越看越MVC4捆绑实施更大的差异,我注意到:MVC4捆绑不解决上述MVC3问题 – 他们只是捆绑和缩小。 此外,盒式磁带不仅能够在特定的位置呈现脚本标签,还能够以正确的顺序对其进行sorting,这不是微不足道的。 所以目前我对这两种解决scheme都不满意,我会试着想出一个我自己的简约实现scheme,希望这种情况在未来会有所改善。 但如果你不害怕添加5+依赖和一堆web.config的变化到你的项目 – 去盒式磁带。 我希望它会在某些时候更新,以便利用MVC捆绑来减lessfunction重复,并希望能够变得更加模块化。 更新:从盒式2.0版开始,不再需要包含咖啡脚本和Cassette的其他function,如果您只需要捆绑和js依赖性解决scheme。 所以在这一点上,卡斯特是我的明显赢家。

MVC4捆绑CSS失败意外的令牌,发现“@import”

我试图使用捆绑来组合和缩小一些CSS文件。 在我的Global.aspx.cs Application_Start我有以下几点: var jsBundle = new Bundle("~/JSBundle", new JsMinify()); jsBundle.AddDirectory("~/Scripts/", "*.js", false); jsBundle.AddFile("~/Scripts/KendoUI/jquery.min.js"); jsBundle.AddFile("~/Scripts/KendoUI/kendo.web.min.js"); BundleTable.Bundles.Add(jsBundle); var cssBundle = new Bundle("~/CSSBundle", new CssMinify()); cssBundle.AddDirectory("~/Content/", "*.css", false); cssBundle.AddDirectory("~/Content/themes/base/", "*.css", false); cssBundle.AddFile("~/Styles/KendoUI/kendo.common.min.css"); cssBundle.AddFile("~/Styles/KendoUI/kendo.default.min.css"); BundleTable.Bundles.Add(cssBundle); 而在我的.cshtml文件,我有以下几点: <link href="/CSSBundle" rel="stylesheet" type="text/css" /> <script src="/JSBundle" type="text/javascript"></script> 但是,当我查看我的捆绑CSS文件的来源时,它具有以下内容: /* Minification failed. Returning unminified contents. (40,1): run-time error CSS1019: Unexpected token, found […]

VS2012 – Web表单 – 捆绑混乱

我通过Visual Studio 2012创build了一个新的ASP.NET Web Forms项目。不幸的是,默认的Site.Master文件非常混乱。 (我将这些问题放在一起,因为它们非常相关,并且引用相同的代码。) 首先,我已经明白捆绑和缩小的目的 ,所以不需要讨论。 不过,我不明白在默认母版页中包含脚本的方式。 问题1: 为什么在BundleConfig.cs文件中创build一个名为“〜/ bundles / WebFormsJs”的包,而在母版页中,这些相同的单个.js文件中的每一个都在ScriptManager中被逐一列出? 在BundleConfig.cs里面: bundles.Add(new ScriptBundle("~/bundles/WebFormsJs").Include( "~/Scripts/WebForms/WebForms.js", "~/Scripts/WebForms/WebUIValidation.js", "~/Scripts/WebForms/MenuStandards.js", "~/Scripts/WebForms/Focus.js", "~/Scripts/WebForms/GridView.js", "~/Scripts/WebForms/DetailsView.js", "~/Scripts/WebForms/TreeView.js", "~/Scripts/WebForms/WebParts.js")); 内部Site.Master: <body> <form runat="server"> <asp:ScriptManager runat="server"> <Scripts> <%–Framework Scripts–%> <asp:ScriptReference Name="MsAjaxBundle" /> <asp:ScriptReference Name="jquery" /> <asp:ScriptReference Name="jquery.ui.combined" /> <asp:ScriptReference Name="WebForms.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebForms.js" /> <asp:ScriptReference Name="WebUIValidation.js" Assembly="System.Web" Path="~/Scripts/WebForms/WebUIValidation.js" /> <asp:ScriptReference Name="MenuStandards.js" […]

我如何指定一个显式的ScriptBundle包含顺序?

我正在尝试MVC4 System.Web.Optimization 1.0 ScriptBundlefunction 。 我有以下configuration: public class BundleConfig { public static void RegisterBundles(BundleCollection bundles) { // shared scripts Bundle canvasScripts = new ScriptBundle(BundlePaths.CanvasScripts) .Include("~/Scripts/modernizr-*") .Include("~/Scripts/json2.js") .Include("~/Scripts/columnizer.js") .Include("~/Scripts/jquery.ui.message.min.js") .Include("~/Scripts/Shared/achievements.js") .Include("~/Scripts/Shared/canvas.js"); bundles.Add(canvasScripts); } } 和以下看法: <script type="text/javascript" src="@Scripts.Url(BundlePaths.CanvasScripts)"></script> BundlePaths.CanvasScripts是"~/bundles/scripts/canvas" 。 它呈现这个: <script type="text/javascript" src="/bundles/scripts/canvas?v=UTH3XqH0UXWjJzi-gtX03eU183BJNpFNg8anioG14_41"></script> 到目前为止这么好,除了~/Scripts/Shared/achievements.js是捆绑源代码中的第一个脚本。 它依赖于ScriptBundle之前包含的每个脚本。 我怎样才能确保它能够遵循我向包中添加include语句的顺序? 更新 这是一个相对较新的ASP.NET MVC 4应用程序,但它引用了优化框架预发布包。 我删除它,并从http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加RTM包。 使用web.config中的debug = true的RTM版本, @Scripts.Render("~/bundles/scripts/canvas")以正确的顺序呈现各个脚本标记。 […]

MVC4 Bundle中的{版本}通配符

在MVC 4中,我们有捆绑。 在定义捆绑包时,我们可以使用通配符(如*)来存放文件夹中的所有文件。 在下面的例子中, -{version}是什么意思? public static void RegisterBundles(BundleCollection bundles) { bundles.Add(new ScriptBundle("~/bundles/jquery").Include( "~/Scripts/jquery-{version}.js")); }

ASP.NET捆绑如何禁用缩小

我在我的web.config(s) debug="true" ,我只是不希望我的包缩小,但我没有做任何事情似乎禁用它。 我试过enableoptimisations=false ,这是我的代码: //Javascript bundles.Add(new ScriptBundle("~/bundles/MainJS") .Include("~/Scripts/regular/lib/mvc/jquery.validate.unobtrusive.js*") .Include("~/Scripts/regular/lib/mvc/jquery.validate*") .Include("~/Scripts/regular/lib/bootstrap.js") .IncludeDirectory("~/Scripts/regular/modules", "*.js", true) .IncludeDirectory("~/Scripts/regular/pages", "*.js", true) .IncludeDirectory("~/Scripts/regular/misc", "*.js", true)); //CSS bundles.Add(new StyleBundle("~/bundles/MainCSS") .Include("~/Content/css/regular/lib/bootstrap.css*") .IncludeDirectory("~/Content/css/regular/modules", "*.css", true) .IncludeDirectory("~/Content/css/regular/pages", "*.css", true))

为什么使用@ Scripts.Render(“〜/ bundles / jquery”)

如何 @Scripts.Render("~/bundles/jquery") 不同于像这样只从HTML引用脚本 <script src="~/bundles/jquery.js" type="text/javascript"></script> 有什么performance收益吗?