尝试使用具有相同虚拟路径包名称的 css 和 js 文件
1 - 有可能吗? (尝试过:但失败了。无法为脚本和样式定义相同的虚拟路径名)
2 - 是否可以构建一个 ScriptAndStyleBundle 并包含在混合包中?
只是因为我想对 css 和 js 使用相同的名称。
//in BundleConfig.cs
bundles.Add(new ScriptBundle("~/bundles/doMenu")
.Include("~/Plugins/doMenu/files/js/doMenu.js")
);
bundles.Add(new StyleBundle("~/bundles/doMenu")
.Include("~/Plugins/doMenu/files/css/doMenu.css")
);
<小时/>
//in _PartialLayoutMenu.cs
@Scripts.Render("~/bundles/doMenu")
@Styles.Render("~/bundles/doMenu")
<小时/>
结果是:
<!--MENU LAYOUT-->
<script src="/Plugins/doMenu/files/css/doMenu.css"></script>
<link href="/Plugins/doMenu/files/css/doMenu.css" rel="stylesheet"/>
<!--/MENU LAYOUT-->
有什么线索吗?或者我想要这样一个无用的头脑?(谢谢)
最佳答案
我正在使用Cassette ,它确实支持此功能。
配置:
bundles.Add<ScriptBundle>(BundleNames.Grid,
new[] {"~/Scripts/Grid.js"},
bundle => bundle.AddReference("~/" + BundleNames.Base));
bundles.Add<StylesheetBundle>(BundleNames.Grid,
new[] {"~/Content/Grid.less"});
BundleNames
是一个带有常量字符串的辅助类。
View 中的引用包:
@{
Bundles.Reference(BundleNames.Grid);
}
正如您所期望的,这将包括所有 CSS 和 JS,并且顺序正确。
我还要提到的是,在 ASP.Net 具有捆绑管理功能之前我就开始使用 Cassette,并且我对此非常满意。我没有发现 ASP.Net 中缺少任何有趣的功能。
关于asp.net-mvc - 是否可以在同一个包中包含脚本和样式?(asp.net mvc5),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29875195/