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

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 投票
14 回答
155603 浏览

asp.net - ASP.NET Bundles 如何禁用缩小

我的web.config(s)debug="true"都有,我只是不希望我的包被缩小,但我做的任何事情似乎都没有禁用它。我试过了,这是我的代码:enableoptimisations=false

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 投票
2 回答
30955 浏览

c# - MVC4 捆绑 CSS 失败意外令牌,找到“@import”

我正在尝试使用捆绑来组合和缩小一些 CSS 文件。在我的 Global.aspx.csApplication_Start我有以下内容:

在我的 .cshtml 文件中,我有以下内容:

但是,当我查看我的 bundles CSS 文件的源代码时,它具有以下内容:

.... 更多

关于如何解决这个问题的任何想法?

我确实将其缩小到以下行:

如果我只有那行代码,我会得到同样的错误。

0 投票
7 回答
64912 浏览

asp.net-mvc - 如何指定明确的 ScriptBundle 包含顺序?

我正在尝试MVC4 System.Web.Optimization 1.0 ScriptBundle 功能

我有以下配置:

和以下观点:

BundlePaths.CanvasScripts在哪里"~/bundles/scripts/canvas"。它呈现:

到目前为止一切顺利,除了~/Scripts/Shared/achievements.js捆绑源中的第一个脚本。这取决于ScriptBundle. 如何确保它遵守我将包含语句添加到包的顺序?

更新

这是一个相对较新的 ASP.NET MVC 4 应用程序,但它引用了优化框架预发布包。我删除了它并从http://nuget.org/packages/Microsoft.AspNet.Web.Optimization添加了 RTM 包。使用 web.config 中带有 debug=true 的 RTM 版本,@Scripts.Render("~/bundles/scripts/canvas")以正确的顺序呈现各个脚本标签。

在 web.config 中使用 debug=false 时,组合脚本首先具有成就.js 脚本,但由于它是稍后调用的函数定义(对象构造函数),因此它运行时不会出错。也许缩小器足够聪明,可以找出依赖关系?

我还尝试了IBundleOrdererDarin Dimitrov 建议的带有两个调试选项的 RTM 实现,它的行为相同。

所以缩小版本不是我期望的顺序,但它可以工作。

0 投票
20 回答
134284 浏览

asp.net-mvc - 为什么我的 CSS 捆绑不适用于 bin 部署的 MVC4 应用程序?

根据此处给出的建议和一两个即时修复,我已经将一个 MVC4 应用程序部署到我的托管服务提供商,但最明显的问题是 css 的捆绑不起作用。当我用显式文件引用替换捆绑引用时,我的 css 再次工作。

我正在使用来自 VS2012 的标准 MVC4 RTM 项目模板。该提供程序正在运行 IIS 7.5 和 ASP.NET 4,而我之前的同一应用程序的 MVC3 版本运行良好。我猜我在某个版本太低的地方获取了依赖项,这也可能导致我的基于区域的操作链接问题

技术症状是:

该行@Styles.Render("~/Content/css")呈现为<link href="/Content/css?v=" rel="stylesheet"/>

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 投票
1 回答
1236 浏览

asp.net - Visual Studio 和 Knockout.js - 捆绑、缩小和约定

我正在使用 ASP.NET MVC4 和 Visual Studio 的捆绑和缩小。

公约说:

  • 当“FileX.min.js”和“FileX.js”存在时选择“.min”文件发布。
  • 选择非“.min”版本进行调试。
  • 忽略仅由 IntelliSense 使用的“-vsdoc”文件(例如 jquery-1.6.2-vsdoc.js)。

问题是 debug.js 扩展也被完全忽略了,当我通过 NuGet 使用淘汰和淘汰映射时,这些扩展附带了这些扩展。所以即使在调试模式下我总是得到缩小版本?

我可以将文件从 .debug.js 重命名为 .min.js 以在调试模式下获得非缩小版本,但这不会通过 nuget 破坏更新功能吗?

.debug.js 文件有解决方案吗?

0 投票
1 回答
7152 浏览

c# - 何时在 MVC4 中使用捆绑包

在 MVC 4 中,我可以使用 @Styles.Render("~/Content/css") 调用定义 BundleConfig 文件的 CSS 文件包,而不是直接调用 CSS。

我们什么时候应该使用 bundle 而不是直接调用文件?当我们有各种 CSS 文件来简化代码时,我清楚地理解它。但是如果只有一个 CSS 文件,我们应该使用 bundle 还是直接调用呢?