问题标签 [bundling-and-minification]
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 - 我可以将 App_Themes css 文件与 Microsoft.Web.Optimization 捆绑在一起吗?
有谁知道是否可以使用 Microsoft.Web.Optimization 捆绑和缩小 WebForms App_Themes?
javascript - 如何在我们的 mvc3 Web 应用程序的 prod 构建中删除 JS 日志记录调用?
在我们的 MVC3 Web 应用程序的整个 JS 中,我们有很多对我们的日志记录方法(只是包装 console.log)的调用,我想在我们构建测试和生产构建时从 JavaScript 中删除它们。
目前我们正在使用捆绑和缩小 nuget 包将我们的 JS 捆绑和缩小到一个大的缩小文件中,但我希望它也能删除对日志记录方法的调用。
我们确实有一种机制可以用空函数替换日志记录方法,因此它们在生产中不会做任何工作,但它们仍然被调用并传入各种参数。除此之外,还有“大”字符串已通过并且可以删除那些,从而减小文件大小。
在我看来,理想的解决方案是以某种方式解析 JavaScript 并检测/删除对这些方法的调用。最好在某种 JavaScript 引擎中,而不仅仅是正则表达式。
无论哪种方式,我只希望在生产中提供的最终 JavaScript 中删除对日志记录方法的调用。有谁知道我将如何完成这个额外的缩小?
asp.net-mvc - 本地化的 scriptbundle 解决方案
您好我目前正在使用带有 System.Web.Optimization 的 asp.net MVC 4 rc。由于我的网站需要根据用户偏好进行本地化,因此我正在使用 jquery.globalize 插件。
我非常想继承 ScriptBundle 类并根据System.Threading.Thread.CurrentThread.CurrentUICulture
. 看起来像这样:
例如,如果 ui 文化是“en-GB”,我希望拾取以下文件(当然缩小,如果可能的话也缓存,直到脚本文件或 currentui 文化改变)。
- “~/Scripts/jquery.globalize/globalize.js”
- "~/Scripts/jquery.globalize/globalize-en-GB.js" <-- 如果此文件在服务器文件系统上不存在,则回退到 globalize-en.js。
我尝试使用以下内容重载 Include 方法,但这不起作用,因为它不是根据请求进行评估,而是在应用程序启动时进行评估。
谢谢
康斯坦丁诺斯
asp.net-mvc - MVC4 捆绑和模拟是否进行任何缓存?
我想使用 MVC4 的捆绑和模拟功能,但我担心模拟。是否每次客户端请求 css 和 javascript 时,捆绑/模拟过程都有效。如果是这样,那么每次都没有CPU开销吗?
asp.net-mvc-4 - mvc4 捆绑强类型捆绑包
所以 MVC 4 引入了脚本和样式捆绑。这允许这样做:
然后在像这样的剃刀视图中使用:
我的问题是为什么我必须输入"~/bundles/mobile"
?有没有办法获得智能以获取强类型对象?否则我必须去查一下以确保我称它为同一个东西。
我想做这样的事情:(我知道这不会编译,这只是一个例子)
或有影响的东西。
编辑:答案很简单。正如所@Hao Kung
指出的,@Styles.Render
只需要一个 url 字符串路径。我创建了一个类来保存路径。
在任何页面中,您只需执行
你有它。您需要付出一些额外的努力,但至少现在它是强类型的。
asp.net-mvc-4 - 为什么 MVC4 @Styles.Render() 在调试模式下没有按预期运行
我正在 MVC4 中实现捆绑和缩小支持并对其进行设置,以便它可以为我自动编译我的 Bootstrap .less 文件。我的 BundleConfig.cs 文件中有以下代码
TwitterBootsrapLessTransform 如下(它比我想要的更复杂,因为需要将 sub .less 文件导入 dotLess)
在我的基础 _Layout.cshtml 页面上,我尝试通过这样做来呈现 css 文件
正如mvc教程所建议的,但客户端浏览器最终请求的文件是
这会导致错误。如果我将以下链接按基本布局页面放入,它会按预期工作。
为什么@Styles.Render() 在调试模式下的行为方式不同?它在发布模式下工作。我可以理解您不希望它在调试中捆绑和缩小,但我如何才能强制此捆绑始终以相同的方式工作?
javascript - MVC4部分视图javascript捆绑问题
我正在使用 Visual Studio 11 开发一个项目 ASP.net 4、MVC4(RC)。我正在尝试渲染一个渲染局部视图的 MVC4 Razor 视图。我的部分视图需要一些 javascript。在我的部分视图中,当我将我的 javascript 包含在脚本部分中时,它似乎没有加载。
如果我删除脚本部分,它会失败,因为在文档就绪代码运行时尚未加载 jquery 库(捆绑并呈现在我的 _Layout.cshtml 页面上)。
_Layout 页面代码加载 jquery 库
有谁知道这个的解决方案,还是我只是以错误的方式去做?它破坏了我的头!
asp.net-mvc - 捆绑和缩小正在发送旧样式
我按照这篇文章来设置捆绑和缩小,http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification。
我认为它工作得很好,直到我更新了一些 CSS,但我一直在使用旧样式。我在 Firefox 中工作,我已经清除了缓存,重新启动了浏览器,重新启动了 IIS,甚至重新启动了我的计算机,但没有任何效果。
当我关闭捆绑和缩小
新样式出现,页面看起来应该是这样。重新打开捆绑和缩小,我又得到了旧样式。此外,每当我重建或更改其中一个 css 文件时,都会有一个新的 chache busting 令牌。所以你会认为它正在发送不同的内容,但我仍然得到旧的东西。我什至在其中一个 css 文件中添加了一个测试类,然后下载了缩小的 css 文件,但是我添加的测试类不存在。
有没有其他人遇到过这个问题?
asp.net-mvc-3 - GZip system.web.optimization 包
我正在使用新的 System.Web.Optimization 并创建了一个这样的包:
在我看来,我已经添加了这个
在提琴手中,URL 会遇到未来 1 年的过期标头和文本/javascript 的内容类型
在 web.config 中,我有一些用于处理静态 JS 文件的 gzip 代码,但它似乎不适用于缩小的捆绑包。
有没有办法让渲染包 gzip 内容?
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 团队对此有何建议?作为集成测试或用户验收测试的一部分,我们是否必须对捆绑配置进行单元测试?