问题标签 [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.
.net - ASP.NET 优化未将 LESS 转换为 CSS
我很难使用 .NET 的新优化框架(用于缩小和捆绑)将 LESS 文件转换为 CSS。
我有一个只包含 LESS 文件的目录。
我使用以下代码将它们捆绑在一起并将它们转换为 CSS:
我还使用了这里详述的 LessTransform 类。
当 debug="false" 时,文件会按预期转换为标准 CSS 并编译为一个。
但是,当 debug="true" 文件未转换时,会在 HTML 中留下一堆 .less URL,浏览器无法理解这些 URL,并且 IIS 似乎没有处理程序。
我意识到我可以构建一些可以为这些 .less 文件提供服务的处理程序,但我认为我不需要这样做。即使在调试时,优化框架也不会将 LESS 转换为 CSS 吗?
c# - 捆绑和缩小发现错误的文件
所以我突然遇到了麻烦,当我进行捆绑和缩小时,它会提取错误的文件版本。
我的解决方案中的文件是:jquery-1.8.3.js、jquery-ui-1.9.2.js、knockout-2.2.0.js、jquery.signalR-0.5.3.js。
我部署时网站正在寻找的文件是:jquery-1.7.2.js、jquery-ui-1.8.22.js、knockout-2.1.0.js、jquery.signalR-0.5.2.js。
我的理解是,当您使用该版本时,它会寻找最新版本....但我猜有些东西搞砸了。
有人有什么想法吗?
asp.net-mvc - ASP 包中的绝对 URL
我为谷歌地图使用了一个 jQuery 库,它依赖于首先加载的谷歌脚本。我希望能够将两者都包含在捆绑包中:
这似乎不起作用(引发抱怨第一个字符串的异常)。有人可能会说这不应该工作,因为绝对 URL 并不意味着被缩小/捆绑。
但是当前的方法很麻烦,因为我需要确保依赖项是正确的,并且发生在不同的地方(捆绑代码中的一半问题,视图中的另一半)。
有一个如上所述的 1 步解决方案会很好。在这方面我有什么选择吗?
更新:
解决有关使用 CDN 作为解决方案的评论:如果我指定bundles.UseCdn = true
它无效,我仍然会收到异常The URL 'http://maps.googleapis.com/maps/api/js?sensor=false&libraries=places' is not valid. Only application relative URLs (~/url) are allowed
。另外我不确定这样做的意义是什么,因为我已经使用了对 jQuery 等的 CDN 支持,所以不确定这会如何与我的用例发生冲突。
html - 使用 MVC4 捆绑和 HTML5 异步属性异步加载 javascript 文件
HTML5 具有用于脚本文件的 async 属性,以启用异步加载。
我可以通过像这样引用捆绑包来利用我的 MVC4 捆绑包。
但这确实意味着我的脚本即使在调试模式下也是捆绑在一起的。
那么如何在调试时利用捆绑和异步属性而不丢失非缩小。
c# - 仅在调试模式下捆绑 css/js
有没有办法让 MVC4 的捆绑系统仅在调试模式下包含脚本/样式?
例如,我有很多调试模式脚本可以帮助我调试系统。我显然不希望它们在系统处于发布模式时呈现。
我想到了使用这样的块:
但调试模式应通过web.config
.
那么正确的做法是什么?
asp.net-optimization - 使用 System.Web.Optimization 我可以在同一个包中混合 css 和 .less 文件吗?
看起来这是不可能的,因为只有在所有文件都被合并和缩小后才会应用 LessTransform。
有没有办法在捆绑时以某种方式预处理较少的文件?
asp.net-mvc - 如何在用户控件中包含 ScriptBundle?
我有一些在继承自 UserControl 的类中使用 RegisterClientScriptInclude 的旧版 ASP.NET WebForms 代码。我想用一个新奇的Bundle替换对 RegisterClientScriptInclude 的多次调用。如何在已编译程序集的深处从我的捆绑路由解析捆绑 URL?
bundle - 在虚拟路径提供程序下捆绑的解决方法
我发现在 ASP.NET MVC 4 下,如果它们的虚拟路径由VirtualPathProvider
. 我的意思是,如果目录“~/Static/”被映射到一个 VPP,你就不能Include("~/Static/Stylesheets/themes/dark-blue.css")
,因为它会简单地默默地失败。
从这里到这里,看起来这是运行时的默认行为,因为它基本上解析文件系统上的虚拟路径,而不是使用 ASP.NET 管道。而且,幸运的是,它将在下一个 MVC 中实现。
无论如何,由于这看起来是一个常见问题,并且由于我要将静态资源存储在项目之外(最终在 Azure 的 CDN 上,但我仍然需要开发和调试),有没有人找到让 ASP.NET Web 的解决方法在他们的虚拟路径中优化搜索资源?
c# - 如何在运行时暂时禁用捆绑和缩小?
为了调试 JavaScript 和 CSS 问题,我需要能够暂时禁用单个请求的捆绑和缩小。我想在运行时通过像这样向 QueryString 添加一个参数来执行此操作..
这是我正在考虑的方法。
- 我在每个 Web 请求上设置此静态属性这一事实是否存在任何潜在问题?(网络应用程序将在网络场上运行)
- 有没有更好的方法来处理这个问题?
model-view-controller - Mvc 捆绑,带有内容的缓存还是带有文件名的缓存?
我决定从我的 Mvc Web 应用程序中引用的静态内容中删除所有版本。但我需要缓存。
我想知道浏览器是按文件名还是按内容缓存内容?例如,如果我捆绑了一个没有版本信息的 Jquery 1.6 版(即 jquery.js),然后我将 1.8 版的 jquery 与以前的文件名(jquery.js)放在一起。会发生什么 ?浏览器是否获取新文件?
谢谢