问题标签 [asp.net-optimization]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc-4 - 将 Web 优化框架升级到 RTM
当我通过 nuget 从Microsoft ASP.NET Web Optimization Framework 1.0.0-beta2升级 到Microsoft ASP.NET Web Optimization Framework 1.0.0时,我的一些脚本不再呈现到页面上。这看起来很奇怪,我想知道我是否需要做一些修改来升级它。
使用 beta2,我得到了以下脚本:
但使用 RTM 我只能得到:
我的捆绑配置非常简单:
有谁知道我是否需要做额外的步骤或更改来升级它?
asp.net - 从 ASP.NET MVC 4 中的部分或编辑器模板触发包包含
我正在 ASP.NET MVC 4 之上构建一个框架。我喜欢 MVC4 中的新捆绑功能,但我遇到了一个问题,我不确定新的捆绑功能是否能解决这种情况。
我的布局视图在之前的页面底部呈现它的脚本包</body>
。
由于我的项目是一个框架,因此视图不知道页面需要的所有捆绑包。我的项目正在大量使用编辑器模板,它可能需要包含一些 javascript,但无法在编辑器模板本身中呈现它,因为:
- 脚本只需要包含一次,并且编辑器模板可能会多次呈现。
- 该脚本可能依赖于尚未包含的其他 javascript 库,例如 jQuery(它们呈现在页面底部)。
所以,我想做的是在编辑器模板中这样的事情:
这将导致捆绑脚本标签仅在页面末尾呈现一次。
我可以不厌其烦地将它构建到我的项目的基础设施中,但我希望这种东西已经以某种方式得到支持。谢谢!
html - 为什么我的 Scripts.RenderSection 不适用于 jqGrid?
我正在使用 Visual Studio 2012 和 MVC 4,在我的 _Layout.cshtml 中,我有以下内容:
在 BundleConfig.cs 我有
我已经三重检查了,我的脚本文件夹确实包含 jquery.jqGrid.min.js,但它没有被包括在内。
我的 HTML 头看起来像:
任何想法为什么不添加这个?
asp.net-mvc-4 - Asp.Net MVC Bundle 不使用现有的 .min.js
我正在使用 Asp.Net MVC 4 和内置的捆绑支持。在 BundleConfig.cs 中,我在 RegisterBundles 方法中添加了默认的 jquery:
我也有两者jquery-1.8.0.js
并jquery-1.8.0.min.js
包含在我的项目中。
调试时一切正常,但是当我设置debug="false"
测试捆绑时,它似乎正在缩小默认的 jquery 文件,而不是使用已经存在的缩小版本。当我在我的项目中查看 'min' 版本的 jquery 时,它在顶部包含一个小注释,第一个方法定义是function(a,b)
. 当我在浏览器中查看输出时,缺少注释并且第一个方法定义不同。
有没有其他人看到这个问题?如何让捆绑机制使用现有的 .min 文件而不是重新缩小?
.net - 新的 .NET 功能包和缩小 {version} 通配符不适用于目录?
我有以下完美运行的代码:
但后来我想使用 {version} 通配符来使用它的所有漂亮功能:
和 BANG,异常,它不起作用,我做错了吗?
编辑
异常信息: System.ArgumentException:
目录不存在。参数名称:directoryVirtualPath
堆:
[ArgumentException:目录不存在。Имя параметра: directoryVirtualPath]
System.Web.Optimization.Bundle.Include(String[] virtualPaths) +40
Aerostar.BundleConfig.RegisterBundles(BundleCollection bundles) 在 c:\Users\Denis\Documents\Visual Studio 2012\Projects\Aerostar\Aerostar \App_Start\BundleConfig.cs:21
Aerostar.MvcApplication.Application_Start() 在 c:\Users\Denis\Documents\Visual Studio 2012\Projects\Aerostar\Aerostar\Global.asax.cs:24[HttpException(0x80004005):目录不存在。Имя параметра: directoryVirtualPath]
System.Web.HttpApplicationFactory.EnsureAppStartCalledForIntegratedMode(HttpContext context, HttpApplication app) +9859725
System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext, HttpContext context, MethodInfo[] handlers) +118
System.Web.HttpApplication.InitSpecial( HttpApplicationState 状态,MethodInfo[] 处理程序,IntPtr appContext,HttpContext 上下文)+172
System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext 上下文)+336
System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+296[HttpException(0x80004005):目录不存在。Имя параметра: directoryVirtualPath]
System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9873912 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
jquery - 防止 ASP.NET MVC 捆绑加载多次
如果捆绑包已经加载,是否有内置的跟踪方法?我有几个编辑视图,例如需要 jquery 和 jquery.Validate 等库。我不需要在主布局页面上引用。由于一个页面可能包含几个不同的条件库......理想情况下,我希望@scripts.Render 知道我是否已经引用了一个库并阻止它重新加载。
干杯蒂姆
asp.net - 与 Twitter Bootstrap 捆绑的 ASP.NET MVC4
我正在尝试将 MVC 4 中的新捆绑功能与 Twitter 引导程序一起使用,在我看来,css get 中的 glyphicons png-files 的路径在某种程度上被搞砸了。这是我的代码:
我没有在按钮上看到任何图标,同样。我在这里做错了吗?有什么建议么?
asp.net-mvc - ASP.NET MVC 4 捆绑和缩小:在调试模式下使用 Url 重写的错误路径
我想使用ASP.NET MVC 4 捆绑和缩小功能,请假设我们运行调试模式,因此没有捆绑任何内容,但每个引用都简单地呈现给单个标签。本地一切正常:
例子
现在从视图调用@Scripts.Render("~/bundles/jquery")
时,会生成一个类似的标签:
如果我只写,结果是一样的:
但是当我将所有内容部署到 Internet 中的测试服务器时(仍然使用调试模式),启用了一些Url 重写,我将特定域或子域路由到特定文件夹。
例如,如果域sub1.example.com
然后转发到example.com/__sub1__
和在转发到的情况下sub2.example.com
等等example.com/__sub2__
。当我sub1.example.com
在浏览器中打开时,通常没有任何线索表明会发生这种情况,Url 没有改变,所有 Url 仍然有效,使用该Url.Content(...)
方法生成的引用也是如此。
但出于某种奇怪的原因,对@Scripts.Render("~/bundles/jquery")
now 的调用呈现如下内容:
请注意“/ sub1 ”部分,它是不应该生成的部分,并且永远不会出现在呈现的 html 代码中的某个位置,并且由于 url 重写转发失败而导致 404。
尽管...
...仍然将正确的相对路径呈现到“/Scripts/jquery-1.8.2.js”。而且我从来没有遇到过像这样重写 URL 的其他问题。而且我不想摆脱这种重写。
显然,这同样适用于样式表。
有什么我可以尝试的想法吗?
c# - 使用 Visual Studio 2012 捆绑时如何正确路径相对 CSS 路径?
我有一个在 Visual Studio 2012 上运行的 MVC 3 / .NET 4.0 应用程序。
我刚刚为我的所有 JS 和 CSS 文件创建了一个静态包。
它首先对我大喊大叫,因为我在开始时使用了没有“~/”的路径,但是我需要包含位于我服务器上另一个虚拟目录中的文件,所以我使用 /../ 来获取它们。
我的捆绑包如下所示:
我正在尝试包含令人敬畏的字体。它发现 CSS 文件很好,但没有字体和图标进入。我猜是这样的行导致了问题:
关于如何解决这个问题的任何想法?谢谢!
编辑:更多信息:
在查看相对 CSS 路径的请求时,它位于我服务器的根目录之后:
代替
asp.net - ASP.NET web forms BundleTable is still bundling in debug mode
I've got an ASP.NET web forms application, running on .NET 4.5 using the new Bundling and Minification features from the Microsoft.AspNet.Web.Optimization package.
So far it's a very simple setup just with a single bundle.
BundleConfig.cs
Global.asax
Send.aspx
This is always rendered in a web browser as <script src="/bundles/send"></script>
ignoring whether debug is set to true or false in web.config.
I've tried adding BundleTable.EnableOptimizations = false;
to BundleConfig.cs to force bundling off but this makes no difference.
Looking to get the following working like it does in MVC sites (Microsoft documentation seems to suggest web forms should be the same).
- Get bundling to turn on/off with the debug flag
- Append the cache-busting ?v=xxx querystring for versioning.