问题标签 [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 回答
4171 浏览

c# - Visual Studio 2012 条件捆绑

我刚开始使用 VS 2012 RC。我创建了一个带有母版页和单个 Web 表单的测试站点。目前,我正在使用此代码捆绑Styles网站上的整个文件夹:

全球.asax

站点主

问题:测试站点有一个站点级 CSS 文件,用于控制站点的整体外观。除了站点级 CSS 之外,每个页面都可以有自己的 CSS 定义。是否可以仅site.css在母版页中包含该文件,然后根据每个页面的需要有条件地将 .css 文件添加到包中?

我在后面的代码中尝试了这个,Default.aspx但没有奏效:

0 投票
2 回答
431 浏览

asp.net-mvc-4 - MVC 4 捆绑 URL 而不是文件

我想我的标题说明了一切,我想捆绑一组返回 JavaScriptResult 而不是物理文件的动作 url,这可能吗?

此致

0 投票
2 回答
6854 浏览

asp.net - .NET 4.5 中的样式包和 CSS 中的图标

我开始使用 .NET 4.5 内置的缩小和捆绑来缩小和捆绑我的 CSS 和 JavaScript。JavaScript 缩小效果很好,但是,我在 CSS 缩小方面遇到了麻烦。我使用以下代码创建了一个样式包 -

然后我在 .cshtml(剃刀文件)中引用它们,如下所示 -

它缩小了 CSS 文件。但是,如果 CSS 文件包含具有背景图像引用的样式,例如 background-image: url('img/icon.png'),它会尝试从新位置加载此图标文件(从包名称派生) = /bundles/MySiteCss/img/icon.png

由于该图标不存在于该位置,因此它不会被加载并显示在页面上。

0 投票
1 回答
3244 浏览

asp.net-mvc - 如何向 ASP.NET MVC 项目添加捆绑和缩小?

我刚刚将一个 ASP.NET MVC 3 项目升级到 MVC 4,现在正在尝试向它添加捆绑和缩小工具。到目前为止,我已经通过 NuGet 安装了Microsoft ASP.NET Web 优化框架,并在 Web.config 的 Razor 命名空间中添加了 System.Web.Optimization:

但是,@Styles 和 @Scripts 仍然不能在我的 Razor 视图 (*.cshtml) 中直接访问,我不得不在它们前面加上 System.Web.Optimization 命名空间。关于我缺少什么的任何线索?

0 投票
2 回答
65640 浏览

jquery - ASP.NET MVC4 jquery/javascript 包的使用

当我使用标准 MVC4 模板创建我的项目时,其中包含了很多 javascript,例如:jquery-obtrusive、jquery-validate、knout、整个 jQuery UI。

其中有多少值得保留,有多少会被丢弃?当您创建强类型控制器时,我注意到 create.cshtml 视图生成的调用:

这个文件到底是做什么的?我应该保留它吗?我应该引用最初在 BundleConfig.cs 中定义的所有这些 JS 文件吗?或者我可以不打扰..?

0 投票
2 回答
11099 浏览

asp.net-mvc-4 - 具有捆绑和缩小功能的 ASP.NET MVC 4 应用程序,为什么在调试模式下启用缩小?

我刚刚将一个 ASP.NET MVC 3 项目迁移到 MVC 4 / .NET 4.0,并安装了 NuGet 包Microsoft.AspNet.Web.Optimization以支持 CSS 和 JavaScript 的捆绑和缩小。我几乎可以进行捆绑/缩小工作,问题是它始终处于启用状态。即使应用程序处于调试模式(如 Web.config 中配置的那样),所有 JavaScript 包含都被缩小。从下面的 XML 片段可以看出,在 Web.config 中启用了调试模式:

我的捆绑配置的摘录:

CSS/JavaScript 包含在 HTML 中呈现,例如:

有没有人知道为什么在我的情况下启用了缩小?我不知道我在这里缺少什么。为了排除故障,我创建了一个测试 ASP.NET MVC 4 Internet 应用程序,并且可以验证 CSS/JavaScript在该项目的调试模式下没有被缩小。

编辑:

在我的 _Layout.cshtml 文件中,我呈现如下样式/脚本:

感谢 Hao,我意识到我忘记在包名称前加上“~/”。

0 投票
9 回答
99724 浏览

c# - Bundler 不包括 .min 文件

我对 mvc4 bundler 有一个奇怪的问题,不包括扩展名为 .min.js 的文件

在我的 BundleConfig 类中,我声明

在我看来,我声明

当它渲染时,它只渲染

如果我将 jquery.tmpl.min.js 重命名为 jquery.tmpl.js(并相应地更新包中的路径),两个脚本都会正确呈现。

是否有一些配置设置导致它忽略“.min.js”文件?

0 投票
1 回答
2147 浏览

cdn - Microsoft ASP.NET Web Optimization Framework 1.0.0 调试模式错误

我有两个问题,一个关于错误,一个关于 cdn

问题1:(错误)

我刚刚添加了新的 NuGet 包:Microsoft ASP.NET Web Optimization Framework 1.0.0。我正在使用 ASP.NET MVC 3,除了一个主要错误之外,一切似乎都在工作。

如果我在 web.config 中使用debug="true",则不会输出任何脚本标签。我检查了视图源,根本没有那个包的标签。

如果我设置debug="false"然后我得到指向我的缩小文件的脚本标签。

*这是一个错误吗?有其他人经历过吗?*

作为一种解决方法,以便我至少能够调试我的应用程序,无论我是否处于调试模式,我都强制优化 BundleTable.EnableOptimizations = true;

问题 2:(CDN)

我还有一个关于 CDN 支持的问题:

如果我想添加另一个支持 CDN 的脚本,那么我必须添加另一个包,因此如果 UseCdn="false",那么它将尝试分别加载 2 个脚本,这意味着 2 个请求。有没有办法让 CDN 支持多个脚本,以便在 UseCdn="false" 时将它们组合成 1 个请求?

像这样的东西:

问候 DotnetShadow

0 投票
3 回答
3358 浏览

asp.net-mvc - ASP.NET 捆绑/缩小:包括动态生成的 Javascript

我有一个动态生成 Javascript 的网站。生成的代码描述了类型元数据和一些服务器端常量,以便客户端可以轻松地使用服务器的服务——因此它是非常可缓存的。

生成的 Javascript 由 ASP.NET MVC 控制器提供服务;所以它有一个 Uri;说~/MyGeneratedJs

我想将此 Javascript 包含在与其他静态 Javascript 文件(例如 jQuery 等)一起的 Javascript 包中:所以就像静态文件一样,我希望它在调试模式下单独引用,并以缩小形式与其他文件捆绑在非调试模式。

如何在捆绑包中包含动态生成的 Javascript?

0 投票
8 回答
22791 浏览

asp.net-mvc - 使 ASP.NET 捆绑为 CSS 捆绑指定 media=screen

我只是在尝试 ASP.NET 4.5 捆绑和缩小,但遇到了问题。

我有大约 10 个 css 文件,其中 2 个最初是在布局中使用属性 media="screen" 引用的。

由于将 css 添加到包的语法不允许您指定应添加此类属性(这是有道理的,因为该属性将适用于整个包),我希望看到 @Styles.Render 的重载允许我指定 html 属性,就像在其他 Html 帮助程序中一样,但没有。

有一个丑陋的解决方案,因为我知道创建的包的 url,我可以自己制作标签,但我会失去由 ASP.NET 处理的缓存机制,因为它允许它自己呈现标签。

有没有办法做到这一点,我错过了什么?或者这只是设计团队的疏忽?