问题标签 [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 - 为什么 MVC4 @Styles.Render() 在调试模式下没有按预期运行
我正在 MVC4 中实现捆绑和缩小支持并对其进行设置,以便它可以为我自动编译我的 Bootstrap .less 文件。我的 BundleConfig.cs 文件中有以下代码
TwitterBootsrapLessTransform 如下(它比我想要的更复杂,因为需要将 sub .less 文件导入 dotLess)
在我的基础 _Layout.cshtml 页面上,我尝试通过这样做来呈现 css 文件
正如mvc教程所建议的,但客户端浏览器最终请求的文件是
这会导致错误。如果我将以下链接按基本布局页面放入,它会按预期工作。
为什么@Styles.Render() 在调试模式下的行为方式不同?它在发布模式下工作。我可以理解您不希望它在调试中捆绑和缩小,但我如何才能强制此捆绑始终以相同的方式工作?
asp.net-mvc-4 - 为什么 MVC4 捆绑和缩小会使我的文件变大?
我正在 MVC4 中实现捆绑和缩小支持,看起来好像它使我的 javascript 文件比没有捆绑/缩小时更大。我正在使用 nuget 中可用的最新版本(启用预发布选项)。我在我的 RegisterBundles 类中设置了以下捆绑包。
我正在使用将它加载到我的 _Layout.cshtml 中
当我在调试模式下将 Fiddler 中收到的这些脚本的字节数相加时,我得到以下信息
当我在生产服务器上运行它时,我从提琴手那里得到了整个 js 包的以下信息。
这里发生了什么?大多数文件在某种程度上都被缩小了,但它不应该几乎是我的有效负载大小的两倍。
其他详细信息 - 当我从本地开发盒(fiddler 报告大小 379kb)和服务器(fiddler 报告大小 999kb)下载 js 文件并将它们放入 kdiff 时,它们是二进制相同的。当我查看 Chrome 的开发者工具网络选项卡时,本地服务器下载 379kb,但“解析器”的值为 975kb。这个解析器值是多少。是否有一些 IIS 压缩设置未在我的服务器中设置但在我的本地 IIS 服务器上?我注意到的唯一区别是我在开发机器上运行的 IIS Express 是 8.0,而服务器是 IIS 7.5。
asp.net-mvc - 为什么在我的 ASP MVC4 应用程序中重定向资源捆绑?
我正在使用 RC,并通过 NuGet 检查了所有内容是否都是最新的。在我的 global.asax.cs 中,我得到了:
我已经尝试了一些不同的配置,但没有任何改进。
然后在我的布局中我得到了:
当页面加载时,它的 url 看起来不错:
但该网址重定向到:
这会返回 404 not found 错误...
有人有什么想法吗?
javascript - MVC4部分视图javascript捆绑问题
我正在使用 Visual Studio 11 开发一个项目 ASP.net 4、MVC4(RC)。我正在尝试渲染一个渲染局部视图的 MVC4 Razor 视图。我的部分视图需要一些 javascript。在我的部分视图中,当我将我的 javascript 包含在脚本部分中时,它似乎没有加载。
如果我删除脚本部分,它会失败,因为在文档就绪代码运行时尚未加载 jquery 库(捆绑并呈现在我的 _Layout.cshtml 页面上)。
_Layout 页面代码加载 jquery 库
有谁知道这个的解决方案,还是我只是以错误的方式去做?它破坏了我的头!
asp.net-mvc-3 - GZip system.web.optimization 包
我正在使用新的 System.Web.Optimization 并创建了一个这样的包:
在我看来,我已经添加了这个
在提琴手中,URL 会遇到未来 1 年的过期标头和文本/javascript 的内容类型
在 web.config 中,我有一些用于处理静态 JS 文件的 gzip 代码,但它似乎不适用于缩小的捆绑包。
有没有办法让渲染包 gzip 内容?
css - MVC4 StyleBundle 无法解析图像
我的问题与此类似:
除了如果可以的话,我想坚持使用 MVC 自己的捆绑。我想弄清楚指定样式包的正确模式是什么,以便独立的 css 和图像集(如 jQuery UI)工作,我陷入了大脑崩溃。
我有一个典型的 MVC 站点结构,/Content/css/
其中包含我的基本 CSS,例如styles.css
. 在该 css 文件夹中,我还有子文件夹,例如/jquery-ui
其中包含其 CSS 文件和一个/images
文件夹。jQuery UI CSS 中的图像路径是相对于该文件夹的,我不想弄乱它们。
据我了解,当我指定 a 时,StyleBundle
我需要指定一个与真实内容路径不匹配的虚拟路径,因为(假设我忽略了到 Content 的路由)IIS 会尝试将该路径解析为物理文件。所以我指定:
使用:
我可以看到请求发送到:
这将返回正确的、缩小的 CSS 响应。但随后浏览器会发送一个相对链接图像的请求,如下所示:
这是一个404
.
我知道我的 URL 的最后一部分jquery-ui
是一个无扩展名的 URL,它是我的包的处理程序,所以我可以看到为什么对图像的相对请求是简单的/styles/images/
.
所以我的问题是处理这种情况的正确方法是什么?
unit-testing - 是否可以在 MVC4 中对 BundleConfig 进行单元测试?
据我所知,答案是否定的。我看到的问题来自课堂上的Include(params string[])
方法System.Web.Optimization.Bundle
。这在内部调用System.Web.Optimization.IncludeDirectory(string, string, bool)
,而后者又使用以下代码:
虽然可以HttpContext.Current
在单元测试期间进行设置,但我不知道如何使其.Server.MapPath(string directoryVirtualPath)
返回非空字符串。由于DirectoryInfo(string)
构造函数在传递空参数时会抛出异常,因此这样的测试总是会失败。
.NET 团队对此有何建议?作为集成测试或用户验收测试的一部分,我们是否必须对捆绑配置进行单元测试?
visual-studio-2010 - BundleTable.Bundles.RegisterTemplateBundles
我有用 VS2010 创建的 MVC4 RC 项目。我不确定发生了什么,突然间我开始收到以下错误:
错误 1“System.Web.Optimization.BundleCollection”不包含“RegisterTemplateBundles”的定义,并且找不到接受“System.Web.Optimization.BundleCollection”类型的第一个参数的扩展方法“RegisterTemplateBundles”(您是否缺少使用指令还是程序集引用?) C:\xxxx\xxxx\Global.asax.cs 40 33 xxxx
错误来自 Application_Start():
我的 Global.asax.cs 文件中有以下 using 语句:
有任何想法吗????
asp.net-mvc - asp.net mvc 脚本包添加所有文件
当您添加脚本包并具有以下内容时:
它加载原始 Jquery 版本和缩小版本。这些文件都在 Scripts 文件夹中,所以我假设星号完全按照你说的做。
有没有办法在 debug=false 模式下只呈现缩小版本,在 debug=true 下呈现原始版本?
还是归结为实际指定您想要的确切文件而不是使用星号?
问候, 雅克
asp.net-mvc-4 - MVC 4 捆绑 URL 而不是文件
我想我的标题说明了一切,我想捆绑一组返回 JavaScriptResult 而不是物理文件的动作 url,这可能吗?
此致