问题标签 [system.web.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.
asp.net-mvc - 是否可以在 CDN 上远程捆绑资源?
我正在尝试将我所有的 javascript 和 css(更少的文件等)移动到一个单独的站点,该站点将托管在我们将用作 CDN 的站点上。
但是我想利用 MVC ScriptBundle 和 StyleBundle 类来绑定到 BundleTransformer.Less。
起初我只是尝试了一个测试脚本包,如下所示:
这里的问题是,如果我处于调试模式或优化关闭,则不会输出任何脚本,因为我没有包含任何内容。如果我对其进行优化,只需将 cdn 链接放入脚本标记中。
理想情况下,我不想在站点中包含脚本和样式(我可以将虚拟目录映射到它们在 cdn 上的位置)。
我想要做的是在 CDN 上构建我所有的包,然后通过链接到它们
但是,生成的最小化链接如下所示:
查询字符串上的 v 是缓存破坏器。我认为,如果我只是链接到它们,那么每次我有机会使用新的缓存破坏者时,我都必须手动更新我的所有链接。
有没有办法处理我已经失踪的这个问题?从我收集到的信息来看,如果我将捆绑移动到 CDN 本身,那么我将无法在我的 razor 模板中使用 @Scripts 或 @Styles。
asp.net - 不为区域内的路径调用 LessAssetHandler
我对 BundleTransformer.Less 库附带的 LessAssetHandler 有疑问。我在调试模式下使用 LessAssetHandler 作为 HttpHandler 来转换较少的文件。一切正常,除了 ASP.NET 区域内的文件不由 LessAssetHandler 处理。例如文件 /Content/Style/page.less 由 LessAssetHandler 处理,文件 /Areas/Admin/Content/Style/page.less 的字节不调用此处理程序。我以以下方式配置了处理程序:
如何强制 MVC 通过 LessAssetHandler 从区域路由更少的文件?
css - 如何设置 System.Web.Optimization 捆绑器以正确转换 ISO unicode
我的 CSS:
转换为:
在捆绑过程中,我不知道如何获取它,因此内容仍然是空格、子弹、空格。
c# - 如何使用 ASP.NET 捆绑从另一个应用程序提供捆绑包?
我的解决方案由几个共享相同静态内容的 Web 应用程序组成。
我最近一直在使用 Microsoft ASP.NET 优化框架来捆绑这些文件。
问题是我只有一个 Global.asax 文件,我在其中注册了所有捆绑包,例如:
然后在我的母版页上,我有:
要在任何其他应用程序上引用此文件,我必须使用完整路径:
这样做的问题是,在调试模式下运行时,第二个应用程序静态文件显示为包,而不是单个/分隔文件。
此外,在发布模式下运行时,文件在没有哈希的情况下被提取(这意味着如果它们被缓存,它们将不会被更新)
我想通过在每个项目之间复制所有静态文件并在 Global.asax 中单独注册它们来解决这个问题(目前只有主应用程序有 Global.asax)
system.web.optimization - 使用 html 页面捆绑和缩小
我在我的项目中使用 asp.net 4.5 捆绑和缩小。我想在 html 页面中使用 jscripts 包。我试过没有成功
我的问题是可以在 html 页面中使用 jscripts 或 CSS 包吗?
asp.net - 命名空间“System.Web”中不存在类型或命名空间名称“优化”(您是否缺少程序集引用?)
我将三个 .ASPX 文件及其关联的 .cs 和 .designer.cs 文件移动到不同的文件夹,并更改了它们的名称。当我尝试重新编译时,我收到了上面关于 5-6 个不同 .ASPX 文件的消息,包括我移动的三个。.ASPX 文件中的行号总是靠近顶部(第 10-20 行左右),但每次都在不同的标签上。我还在 .cs 文件上收到了大约 250 条其他消息,说许多(可能是所有).ASPX 文件中的所有控件都不存在。
我发现的有关此消息的大多数文章都涉及不同版本的 MVC,但这不是 MVC 应用程序。我确实尝试过调整 NuGet 设置,并尝试将 web.config 中对 System.Web.Optimization 的引用注释掉,但均未成功。
我还尝试从项目中排除有问题的 .ASPX 文件并重新包含它们。这导致该文件的消息消失,但是当我排除最后一个文件时,相同的消息出现在另一个文件上,通常是项目中的下一个文件。
编辑:其他几个问题的答案涉及添加缺少的参考,但在我的情况下参考已经存在。
c# - asp.net Webforms Bundling & minification - 捆绑脚本抛出 404
我一直在尝试为我现有的 asp.net webforms 项目实施捆绑和缩小,不幸的是它最终得到了 404 响应。
让我先分享我遵循的步骤。
System.Web.Optimization
通过nuget安装。添加
BundleConfig
类并在 Glabal.asax Application_Start 事件上注册
我的代码捆绑 JS 文件。
...
- 向 aspx 页面添加了以下标记
- 设置 BundleTable.EnableOptimizations = true; 在 bundleConfig 中,形成的 url 是
http://localhost:9011/bundles/modelJs/?v=xNmmFhbzC1isUARLQne-XoBRkWBWApbnRQX8AGvNxQY1
我还检查了在 VS2013 webforms 应用程序中添加的示例项目,令人惊讶的是,它似乎工作正常。
我在 SO 上看到了许多类似问题的问题,但无法解决。
asp.net - ASP.NET MVC:StyleBundle IncludeDirectory & CssRewriteUrlTransform
当我捆绑我的 CSS 样式表时,我的图像没有得到解决,我遇到了同样的问题。
现在我发现一些 SO-Answers 建议将new CssRewriteUrlTransform()
其用作新 StyleBundle-Object 的“Include”-Method 的第二个参数。比如这个
我使用 IncludeDirectory 是因为我有一个目录,我可以在其中添加文件而无需在某处注册(而且它们有很多我不想列出的文件)。但是 IncludeDirectory 没有重写来传递 CssRewriteUrlTransform-Object:
不起作用: bundles.Add(new StyleBundle("~/bundles/css/directives").IncludeDirectory("~/app/directives", "*.css", true));
我也试过:
但是变换属于 IBundleTransform 类型,我正在尝试传递一个 IItemTransform。
关于如何做到这一点的任何建议?
c# - 异步加载脚本时如何编写 CDN 后备表达式?
我正在按如下方式设置我的 jQuery 包:
为了提高我的 Google PageSpeed Insights 分数,我选择异步加载脚本:
但是现在,它似乎总是失败 CDN 后备表达式并最终加载脚本两次;一次来自我的后备包,一次来自 CDN,当异步调用完成时。我假设是因为当它运行回退测试时,对 CDN 的异步调用尚未完成。
有没有更聪明的方法可以编写我的后备表达式?
完全有更好的解决方案吗?
我会将 jQuery 加载到更靠近底部的位置,但它会破坏任何依赖它的内联调用。
javascript - 如何将 System.Web.Optimization (.net js bundler) 与 amd 模块一起使用?
现在我正在使用System.Web.Optimization
js bundler 处理项目。
我如何amd
在这个捆绑器中使用模块?
现在我显然得到了define is not defined
错误。
Webpack 和 r.js 可以处理依赖项,但我还不想更改 bundler。