问题标签 [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 投票
2 回答
5825 浏览

c# - MVC4 如何使用捆绑虚拟路径?

在 Microsoft MVC4 中,我看到了一些称为缩小和缓存静态资源的东西,bundling例如. 在该方法中,我看到了调用的第一个参数,它应该只是相对的。CSSJavaScriptScriptBundlevirtual path

例如,~/bundles/jquery在上面的代码中。

我有一个问题,bundling这个怎么用virtual path?这是否用于文件缓存之类的东西?

0 投票
1 回答
5336 浏览

asp.net-mvc - MVC4 捆绑通配符 - * 与 {version}

我理解并完全欣赏新的捆绑通配符 {version} 正则表达式,因为即使在更新等之后,它也会继续获取您的脚本和样式库。问题是我无法让它有效地工作。

我以前使用以下符号来获取我的 jQuery 脚本:

它会拾取与星号通配符匹配的所有文件。

但是当我尝试以下操作时:

我注意到 jQuery 文件没有写入 _Layout.cshtml 页面。

注意 - 我确实为这两个示例使用了以下 HTML 代码:

当我使用上面的第一个示例 (" * ") 表示法时,以下内容将写入页面:

然而,当我使用“{version}”符号时,只有一个空白空间应该写入库。这既适用于 jquery 文件,也适用于相关的 CSS 样式表。

无论我是为 DEBUG 还是 RELEASE 模式编译都没有关系。结果是一样的。显然在发布模式下,当使用“*”符号时,我会得到优化的版本:

因此,作为所有开发人员的完美主义者,我非常希望看到 {version} 符号对我有用,因为我会及时了解新版本并希望对我的部署进行这种控制。

非常感谢对我可能做错的任何见解。

在此先感谢,丹

0 投票
1 回答
865 浏览

bundle - Microsoft.AspNet.Web.Optimization 未创建 Javascript 包

我正在按照以下链接的指导在 VS2010 网络表单网站中创建一个 javascript 包。

http://igorzelmanovich.blogspot.co.uk/2012/09/using-aspnet-bundling-and-minification.html

我的 global.asax 中有这个:

这在我的站点管理员中(注意我还没有将我的主要 jquery 源移动到包中)

我已经从 Nuget 安装了 Microsoft.AspNet.Web.Optimization 包,它获得了所有二进制文件,并且网站构建成功。我尝试将 web.config 调试值设置为 true 和 false,但 bundles/js 文件夹不会使用包含 jquery.bxSlider.js 的包生成,我手动创建了 bundles/js 文件夹但仍然没有运气。

调试时 Application_Start 确实被调用,只是不生成任何东西。

0 投票
1 回答
1675 浏览

asp.net - 在 ASP.NET MVC 4 中使用 Scripts.Render 时,在“脚本”标记中生成“类型”属性

是否可以在 ASP.NET MVC 4 中配置 Scripts.Render 以在“脚本”标签中生成“类型”属性?

如果是这样,怎么做?

提前致谢,

瑞安

0 投票
2 回答
6087 浏览

c# - MVC4 捆绑缓存头

我想更改从捆绑请求发送的缓存标头。目前它有所不同,User-Agent但我不希望这样,有没有办法更改捆绑请求发送的标头?

在快速查看System.Web.Optimization程序集后,我可以看到标题设置在Bundle.SetHeaders其中是一个私有静态函数,所以我认为它不可能,尽管我很想被证明是错误的。

0 投票
1 回答
1947 浏览

asp.net-mvc-4 - ASP.NET Mvc 4 对 Url.Content 使用 bundle 的好处

有什么办法可以做到这一点吗?

捆绑的一些好处是:

  • 最小化
  • Gzip 压缩
  • 该请求具有用于处理文件版本(缓存)的令牌参数。

在我的站点中,我使用了很多捆绑包,但在某些页面中我只有 1 个脚本,我认为我不应该只为 1 个脚本创建捆绑包。有什么办法可以用方法来使用这三个好处Url.Content

我的 utopic 解决方案是设置一些东西(可能在 web.config 中),每当调用 Url.Content 时,它都会添加此功能。以任何一种方式使用它:

(第二个是因为我使用的是Razor 2

如果那是不可能的,我可以为 UrlHelper 创建一个扩展方法来添加此功能。

谢谢!

0 投票
2 回答
13147 浏览

asp.net-mvc-4 - 如何配置 MVC 的样式捆绑顺序?

我的网络应用程序使用带有 jquery-ui 和 jqgrid 的大图标集。
为了在升级 jquery-ui 或 jqgrid 时轻松维护对 CSS 的更改以适应较大的图标,我有一个单独的 CSS 文件,其中有一堆覆盖。

正如你可以想象的那样,这个覆盖文件必须包含在 jquery-ui 样式表和 jqgrid 样式表之后。

我把我所有的样式表像这样放在一个包中

但它是这样渲染的!

如何配置我的捆绑包以正确的顺序呈现?

更新
好吧,这很愚蠢,但它有效。

无论我做什么,文件总是会错误地呈现。所以我尝试了一些愚蠢的方法,首先添加了 jquery-ui-fixes.css,最后添加了 jquery-ui-1.8.23.custom.css。

突然我的订单是

我将我的 javascript 文件重命名为 jqueryuifixes.css,现在它的顺序保留在较低的 js 文件中。

我在想,如果样式表的名称中有 - ,由于某种原因它首先被优先考虑,并且它的顺序与其他带有 - 的文件一起维护。

如果有人能解释这一点,我会给他们支票。

0 投票
3 回答
725 浏览

asp.net-mvc - 调试模式下的 ASP.NET 4.5 捆绑 - 过时的资源

有什么方法可以让 ASP.NET 4.5 捆绑功能在调试模式下运行时生成 GUID 作为查询字符串的一部分(例如捆绑关闭)。

问题是在本地开发时,脚本/CSS文件是这样生成的:

因此,如果我更改该文件,我需要进行硬刷新(有时几次)以使浏览器拾取该文件 - 烦人。

有什么办法可以让它像这样渲染:

GUID在哪里x(例如始终唯一)。

想法?

我在 ASP.NET MVC 4 上。

0 投票
1 回答
717 浏览

asp.net-mvc-4 - 即使在 bundle 中的 CSS 文件被修改后也不会生成新的查询字符串令牌

我正在使用 ASP.NET MVC 4、.NET 4.5。

这是我要添加的捆绑包:

这是从此包生成的 CSS 的链接:

我的问题是我正在修改作为捆绑包的一部分的 bootstrap.css 并且它没有为v 查询字符串 var 生成新令牌,因此它会提取旧版本。

我尝试强制重新启动应用程序以获取 asp.net 优化框架以找出我已更改此文件但它没有发生...

非常感谢任何帮助,谢谢!

0 投票
2 回答
1305 浏览

c# - MVC4 捆绑(基于设备类型)

因此,查看 bundleconfig.cs 它应该允许根据设备类型进行捆绑。唯一的问题是因为它在 App_Start 中,它不允许我访问 Request 对象。任何想法如何使基于设备的捆绑成为可能?