是否可以在同一个 Bundle 中包含脚本和样式?(asp.net mvc5)
is it possible to include Scripts and Styles in same Bundle ?(asp.net mvc5)
正在尝试使用 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-->
有线索吗?还是我想要这么没用的脑子?(谢谢)
包名称在样式和脚本中应该是唯一的。由于它们是完全不同的类型,您不能将它们混合成一个包,因为那样您就不知道如何在 DOM 中引用它:您应该使用 <script>
还是 <style>
标签。很遗憾,您所要求的是不可能的。
我正在使用 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
是一个帮手 class 我有常量字符串。
视图中的参考包:
@{
Bundles.Reference(BundleNames.Grid);
}
如您所料,这将包括所有 CSS 和 JS,顺序正确。
我还要提到,在 ASP.Net 进行捆绑管理之前我已经开始使用 Cassette,对此我感到非常满意。我没有找到任何我遗漏的有趣功能 ASP.Net。
正在尝试使用 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-->
有线索吗?还是我想要这么没用的脑子?(谢谢)
包名称在样式和脚本中应该是唯一的。由于它们是完全不同的类型,您不能将它们混合成一个包,因为那样您就不知道如何在 DOM 中引用它:您应该使用 <script>
还是 <style>
标签。很遗憾,您所要求的是不可能的。
我正在使用 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
是一个帮手 class 我有常量字符串。
视图中的参考包:
@{
Bundles.Reference(BundleNames.Grid);
}
如您所料,这将包括所有 CSS 和 JS,顺序正确。
我还要提到,在 ASP.Net 进行捆绑管理之前我已经开始使用 Cassette,对此我感到非常满意。我没有找到任何我遗漏的有趣功能 ASP.Net。