asp.net-mvc - 是否可以在同一个包中包含脚本和样式?(asp.net mvc5)

标签 asp.net-mvc asp.net-mvc-5 bundling-and-minification scriptbundle stylebundle

尝试使用具有相同虚拟路径包名称的 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/

相关文章:

css - 添加 Favicon 导致 css 无法缩小

asp.net-mvc-4 - 使用 @keyframes 缩小 CSS 时出错

asp.net-mvc - ASP.NET MVC View 可以使用来自不同项目的模型吗?

asp.net-mvc - 确定当 mvc 5 中的不同 View 请求相同 View 时要调用哪个操作方法

c# - 是否可以通过 HTML 从 jQuery 中的 C#/Razor 获取数据?

c# - 带有文化 url 的 ASP.Net MVC 5 路由

c# - 如何在 ASP.NET MVC 5 中为特定 Controller 指定路由选项

asp.net-mvc - 使用 Asp.Net MVC ActionLink、RedirectToAction 等时有没有办法包含片段标识符?

c# - 将 HTML 表发布到 ADO.NET DataTable

使用 CDN 和 HashContent(Cache Buster 或 Finger Print)的 ASP.NET 优化框架(JS 和 CSS 缩小和捆绑)