问题标签 [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.
asp.net-mvc - 来自 System.Web.Optimization 的 Microsoft.Ajax.Utilities.JScriptException
我们在部署来自 NUGET 的最新 System.Web.Optimization 1.0 库时遇到问题。在我们在 Azure 上的生产实例中,日志充满了 Microsoft.Ajax.Utilities.JScriptException 错误,CPU 达到 100% 并且一切都停止了。内存转储显示以下错误(其中 211 个)。任何帮助将不胜感激!
错误:
jquery-mobile - 无法在 ASP.NET MVC 4 应用程序中捆绑 JQuery Mobile 1.2
我正在开发一个 ASP.NET MVC 4 应用程序。此应用程序利用捆绑来提高性能。以前,该应用程序使用 jquery.mobile-1.1.0.js。一切正常。但是,我已经升级到 JQuery Mobile 1.2,当我加载我的屏幕时,我总是看到一个等待微调器。我已经指出了标准和缩小版本都被引用的事实。当我在页面加载后查看我的视图源时,我在顶部看到以下内容:
据我所知,这是从我的 ASP.NET MVC .cshtml 文件中的以下内容生成的
在我的 BundleConfig.cs 文件中,我有以下定义:
本质上,当我的 web.config 编译设置中设置了 debug="true" 标志时,我想使用普通版本。但是,当 debug="false" 时,我想使用缩小版。我究竟做错了什么?
谢谢
asp.net-mvc - 带有 IE 条件注释的 MVC4 捆绑/缩小
我正在尝试使用 MVC4 的新“捆绑和缩小”。
对于 IE 条件注释,我仍然使用旧方法:<!--[if lt IE 9]><link href=.../><![endif]-->
或者<!--[if lt IE 9]>@Styles.Render("~/foo")<![endif]-->
,但我似乎没有得到自动调试/发布处理。
有没有内置的方法可以做到这一点?其他人如何做到这一点?
编辑:
能够<noscript>
在渲染输出中包含标签(用于回退)也很棒。
asp.net - 非数字版本控制上的 MVC4 捆绑 {version} 通配符扼流圈
根据MS 捆绑开发,{version}
通配符是(\d+(?:.\d+){1,3})
. 这区别于:
但由于非数字编号 ( #.#.#pre
) 它阻塞:
所以我正在这样做:html5shiv-3*
和html5shiv-printshiv-*
. 但这当然意味着我必须在脚本更改时更新捆绑包。
我只是以 html5shiv 为例。这个问题很普遍,因为包含“pre”、“beta”、“-a”、“-alpha”等很常见。解决方案是手动重命名文件,但它不是通过 nuget 自动进行的。
难道我做错了什么?
asp.net-mvc - 有没有办法在包名中添加文件扩展名?
我想定义一个这样的包:
如果捆绑名称只是"~/style"
这样,但文件扩展名总是返回 404。我怀疑服务器在驱动器上搜索 CSS 和 JS 文件并忽略捆绑系统,但我找不到其他正在尝试的人在包名称中包含文件扩展名。如果没有 URL 重写之类的东西,这可能吗?
asp.net-mvc - MVC4 捆绑通配符 - * 与 {version}
我理解并完全欣赏新的捆绑通配符 {version} 正则表达式,因为即使在更新等之后,它也会继续获取您的脚本和样式库。问题是我无法让它有效地工作。
我以前使用以下符号来获取我的 jQuery 脚本:
它会拾取与星号通配符匹配的所有文件。
但是当我尝试以下操作时:
我注意到 jQuery 文件没有写入 _Layout.cshtml 页面。
注意 - 我确实为这两个示例使用了以下 HTML 代码:
当我使用上面的第一个示例 (" * ") 表示法时,以下内容将写入页面:
然而,当我使用“{version}”符号时,只有一个空白空间应该写入库。这既适用于 jquery 文件,也适用于相关的 CSS 样式表。
无论我是为 DEBUG 还是 RELEASE 模式编译都没有关系。结果是一样的。显然在发布模式下,当使用“*”符号时,我会得到优化的版本:
因此,作为所有开发人员的完美主义者,我非常希望看到 {version} 符号对我有用,因为我会及时了解新版本并希望对我的部署进行这种控制。
非常感谢对我可能做错的任何见解。
在此先感谢,丹
asp.net-mvc - System.Web.Optimization 使某些函数的函数参数名称保持不变
使用 ScriptBundle 捆绑 ASP.NET
被转化为
但是,当我使用 AngularJs 时,为了使依赖注入仍然有效,缩小时不得更改参数名称。如何确保 $scope、$location 和 $rootScope 通过 ScriptBundle 保持这些名称的缩小,但允许在其他地方重命名参数?
c# - 如何根据浏览器版本捆绑特定的 CSS?
我正在使用 MVC4StyleBundle
捆绑一堆 CSS。只有 IE 9 或更低版本才需要一个 CSS。
在我BundleConfig
的方法类中RegisterBundles
,我有:
但后来我得到了一个Request is not available in this context
错误。在方法期间是否无法检测浏览器RegisterBundles
?
asp.net - 在 ASP.NET MVC 4 中使用 Scripts.Render 时,在“脚本”标记中生成“类型”属性
是否可以在 ASP.NET MVC 4 中配置 Scripts.Render 以在“脚本”标签中生成“类型”属性?
如果是这样,怎么做?
提前致谢,
瑞安
asp.net - ASP.NET 捆绑 - 默认虚拟路径?
据我所知(因为坦率地说,文档System.Web.Optimization
非常稀少),捆绑在 ASP.NET 中的工作方式是注册一组文件(Javascript 或 CSS,与ScriptBundle
and对应StyleBundle
),并将它们与虚拟路径相关联;例如,~/bundles/jqueryui
对于所有 jQuery UI 脚本。稍后,当您在非调试模式下运行时,ASP.NET 可以缩小这些文件,并且缩小版本将在您为捆绑包指定的虚拟路径中提供。
默认捆绑设置将一些脚本捆绑注册~/bundles/...
为虚拟路径,并将一些 CSS注册~/Content/css
为虚拟路径。我的问题是,这不是不一致吗?~/bundles/js/...
拥有类似and的东西不是更有意义~/bundles/css/...
吗?事实上,该~/Content
目录实际上是作为一个真实目录存在的,因此甚至存在名称冲突的可能性。我原以为您希望您的虚拟包路径是默认情况下不存在的目录,并且不打算在实际文件系统上创建。是否有某些原因~/Content/css
用于我不理解的 CSS 捆绑虚拟路径?