我想知道是否有人可以帮助我使用 MVC 4 附带的新优化命名空间进行捆绑和缩小。
我有一个多租户应用程序,我想在其中决定应根据每个用户的设置加载哪些 js 文件。一种方法是预先创建所有包并根据用户的设置更改resolvebundleurl的虚拟路径,但这感觉并不是正确的方法。
另外,我在基于用户设置的 cshtml 视图中拥有动态 css,我希望在运行时对其进行缩小。
有什么建议么?我还在其他问题中看到很多反应来查看 Requestreduce,但它们都来自同一用户。
处理这两种情况的最佳方法是什么?
提前致谢!
您可以采取的一种方法是在应用程序启动时动态构建捆绑包。所以如果你的脚本位于~/scripts
你可以做:
Bundle bundle = new Bundle("~/scripts/js", new JsMinify());
if (includeJquery == true) {
bundle.IncludeDirectory("~/scripts", "jquery-*");
bundle.IncludeDirectory("~/scripts", "jquery-ui*");
}
if (includeAwesomenes == true) {
bundle.IncludeDirectory("~/scripts", "awesomeness.js");
}
BundleTable.Bundles.Add(bundle);
那么你的标记可以看起来像这样
@Scripts.Render("~/Scripts/Libs/js")
Note:我正在使用最新的 nuget 包进行 system.web.optimization (现在是 Microsoft.AspNet.Web.Optimization)here http://nuget.org/packages/microsoft.web.optimization。斯科特·汉塞尔曼有一个很好的post http://www.hanselman.com/blog/VisualStudio2012RCIsReleasedTheBigWebRollup.aspx关于它。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)