问题标签 [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.

0 投票
1 回答
4909 浏览

asp.net-mvc - 使用 Scripts.Render 时 MVC4 捆绑速度慢

在提供呈现捆绑脚本的简单页面时,我的 asp.net MVC4 Web 项目运行非常缓慢。但是,当我在页面上使用带有虚拟包路径的源属性的“硬编码”脚本标记时,性能会好得多:

对比

BundleConfig.cs的没有特殊配置,这与它看起来完全一样:

web.config什至被配置为在调试中进行优化,但我尝试在发布模式下运行并且仍然得到相同的结果:

任何想法为什么Scripts.Render这么慢?

0 投票
3 回答
12812 浏览

asp.net-mvc-4 - 如何解决 Antlr3 依赖地狱

我有一个带有 MEF 和 RavenBD 的 asp.net MVC 4 项目。

项目加载时会引发此异常:无法加载文件或程序集 Antlr3.Runtime.dll

我发现 RavenDB 和 WebGrease(随 MVC 4 一起安装)都使用 Antlr3。但是 WebGrease 带有自己的 Antlr3 dll,由微软签名 - PublicKeyToken 31bf3856ad364e35

Antlr3 默认的 PublicKeyToken 是 eb42632606e9261f。

RavenDB 和 WebGrease 使用相同版本的 Antlr3 3.3.1.7705

我该如何解决这个问题?

0 投票
2 回答
7043 浏览

css - ASP.NET MVC4 捆绑 CSS 一些在 CDN 上,一些在服务器本地?

我正在研究ASP.NET MVC4 System.Web.Optimization 捆绑包,想知道您将如何从CDN和服务器本地提供一些CSS 文件

那可能吗?

看起来bundles.UseCdn = true处于集合级别,而不是单个捆绑包的设置。

任何指导将不胜感激。

0 投票
3 回答
2260 浏览

asp.net - 如何将 ASP.NET MVC 控制器操作的结果添加到 Bundle?

我有一个返回 Javascript 文件的控制器操作。我可以从我的视图中引用这个文件,它工作正常。我想把它和其他 JS 文件放在一个 System.Web.Optimization.Bundle 中。

我正在尝试这样做,基本上:

我的 Bundle 中的其他文件渲染得很好,但是这个被忽略了。看到这种行为,我的假设是捆绑在应用程序能够通过路由基础设施解析 URL 之前得到处理,或者捆绑组件可能不会以允许该解析发生的方式请求文件。

如果有人可以为我确认和/或在这里为我指明一个好的方向,将不胜感激。

0 投票
2 回答
1017 浏览

azure - 为什么指向 Azure 共享缓存的 Web outputCache 配置部分会减慢每个请求?

我的问题与类似,但我的问题是 Windows Azure 共享缓存——而不是较新的 Windows Azure 缓存。

这真是一个奇怪的问题。我有一个共享的 Azure 缓存设置并在一个托管的云服务上工作。该应用程序同时使用它sessionStatecaching/outputCache. 该应用程序根本没有延迟问题。它被部署到美国中北部,共享缓存也是如此。

我还有第二个托管服务,它也部署到美国中北部。我已将第二个应用程序配置为使用相同的共享缓存。奇怪的是:当我<caching>/<outputCache>在 web.config 中配置部分以将其指向共享缓存时,每个 (MVC4) Web 请求都会减慢到大约 5-6 秒。当我注释掉这个 web.config 部分时,Web 请求要快得多(约 100 毫秒)。

缓存连接本身似乎不是延迟问题,因为我仍在为 sessionState 使用相同的共享缓存,而且速度很快。另外值得注意的是,没有一个 MVC4 操作使用 OutputCacheAttribute。只需将 outputCache 部分添加到 web.config 并重新部署即可重现延迟。

两个应用程序位于相同的数据中心区域,使用相同的 vm 大小、实例和 osFamilies。我能想到的它们之间的唯一区别是第一个(没有延迟问题的)是 MVC3 应用程序,而第二个是 MVC4 应用程序。

为什么简单地添加指向 Windows Azure 共享缓存的缓存/输出缓存配置部分会减慢每个 MVC4 请求?

更新1:

我现在能够在不部署到 azure 的情况下重现此问题。我设置了我的本地 VS / IIS Express 安装以将有问题的共享缓存用于会话和 outputCache。在更改此 web.config 设置之前,我得到了亚秒级的响应:

当关闭 system.web 部分中的调试挂钩时,我开始获得 5-6 秒的响应时间(转载)。这可能是 MVC4 中的捆绑和缩小功能的问题吗?很奇怪,关闭调试编译会增加响应延迟约 10 倍.....

更新 2:

MiniProfiler 告诉我,是的,超过 4 秒的延迟来自我在 MVC _Layout.cshtml 中的 @Scripts.Render("~/bundles/mybundle") 之一。web.config 中的 outputCache 设置似乎正在影响捆绑脚本的发布模式呈现。但是为什么?

0 投票
4 回答
6846 浏览

c# - 使用 ASP.NET 4.5 捆绑和 CDN(例如 CloudFront)

ASP.NET 4.5 有一个很棒的新捆绑功能,并且似乎支持使用 CDN。Microsoft 给出的将捆绑功能与 CDN 结合使用的示例是这样的

这似乎表明您需要明确告诉它 CDN 上文件的路径。

CloudFront CDN(我想还有很多其他的)为您提供了一个镜像您自己的子域。当你击中http://uniquesubdomain.cloudfront.net/js/myfile.js?v=1它时http://mydomain.com/js/myfile.js?v=1

这样,您可以简单地为所有链接添加前缀,http://uniquesubdomain.cloudfront.net/并且您的文件是来自 CloudFront 的服务器。

ASP.NET 4.5 捆绑功能是否与这种类型的 CDN 兼容?是否有一种内置方法可以将捆绑功能作为其与 CDN 域的所有链接的前缀?

例如。

会导致

0 投票
1 回答
7799 浏览

asp.net-mvc-4 - 捆绑从 CDN 提供的多个 CSS?

我们正在研究ASP.NET MVC 4的新捆绑功能,并想知道捆绑从 CDN 提供的CSS 文件是否有任何优势?

有没有办法在 ASP.NET MVC 4 中捆绑从 CDN 提供的多个文件?这不起作用:

有任何想法吗?

0 投票
2 回答
3681 浏览

c# - Dotless - 无法使用 MVC 捆绑在单独的文件中引用较少的变量

我希望我没有创建重复的主题,但是我已经搜索了两天,找不到解决方案。

我们正在MVC4中启动一个新项目,并且加载了较少版本的引导程序。我遇到的问题是当我尝试引用bootstrap.less、 myglobal.less或当前文件之外的任何内容中的某些类或变量时。我可以在当前文件的顶部创建一个变量并很好地使用它,但是如果我想使用单独文件中的某些东西,我必须这样@import做。如果我的整个应用程序的 less 文件都在一个文件中,这会很好,但我必须将 4+ 个文件 @import 到我创建的每个 page/sectionless 文件中。

我从https://gist.github.com/2002958添加了 MVC4 捆绑添加

正如我所看到的,问题是每个文件都被独立评估并转换为css。我试图简化该过程并从 less 包中的所有文件构建大量的 less 字符串,然后将它们转换(Less.Parse(lessString)),但我收到了错误:

“您正在导入一个无法找到的以 .less 结尾的文件”

所以这是我的终极问题:有没有一种方法可以在不引用物理文件的情况下简单地解析更少的字符串?那将解决我的问题。

如果由于某种奇怪的原因而无法做到这一点,是否有一个我不知道的组件或流程已经到位,它实际上在缩小文件之前将文件捆绑在一起?

任何关于这个主题的光都将不胜感激,因为我正在绕着圈子试图让它发挥作用。

这个问题也发布在 Dotless 组:
https ://groups.google.com/forum/?fromgroups#!topic/dotless/j-8OP1dNjUY

0 投票
2 回答
6021 浏览

javascript - MVC4 Bundle 缩小不适用于 javascript 保留字

使用最新版本的 MVC4 当它包含保留字作为键名时,我无法缩小 javascript!

请参阅下面的错误,其中包含应缩小的有效 javascript。

有谁知道如何解决这个没有重写 javascript 以使用 [""] 符号的问题?

PS 有问题的代码有几千行,所以它不是一个选项!

问题是没有其他选项,如节点、盒式磁带、梳子、服务堆栈等

我们如何让 MVC4 与保留字打球。

我很难相信在 6 个月后没有对此的支持!

0 投票
3 回答
3386 浏览

.net - ASP.NET 优化未将 LESS 转换为 CSS

我很难使用 .NET 的新优化框架(用于缩小和捆绑)将 LESS 文件转换为 CSS。

我有一个只包含 LESS 文件的目录。

我使用以下代码将它们捆绑在一起并将它们转换为 CSS:

我还使用了这里详述的 LessTransform 类。

当 debug="false" 时,文件会按预期转换为标准 CSS 并编译为一个。

但是,当 debug="true" 文件未转换时,会在 HTML 中留下一堆 .less URL,浏览器无法理解这些 URL,并且 IIS 似乎没有处理程序。

我意识到我可以构建一些可以为这些 .less 文件提供服务的处理程序,但我认为我不需要这样做。即使在调试时,优化框架也不会将 LESS 转换为 CSS 吗?