【问题标题】:MVC.NET Bundling Web-App scripts and stylesMVC.NET 捆绑 Web 应用脚本和样式
【发布时间】:2013-12-31 11:56:57
【问题描述】:

我已经设置了我的 IIS,将“Shell”作为网站的根目录,并将其他所有内容作为 shell 下的 Web 应用程序。

我有一个包含我所有样式/脚本等的网络应用程序。 我正在尝试设置捆绑包,但我在这里碰到了一堵砖墙。任何帮助深表感谢: 在我的主要“Shell”网站的BundleConfig.cs 中,我正在尝试像这样捆绑:

{
    bundles.Add(new ScriptBundle("~/bundles/Kendo/Scripts/kendoJS").Include(
         "~/Kendo/Scripts/kendo/{version}/jquery.min.js"
        ,"~/Kendo/Scripts/kendo/{version}/kendo.all.min.js"
        ,"~/Kendo/Scripts/kendo/{version}/kendo.aspnetmvc.min.js"
        ,"~/Kendo/Scripts/kendo/kendo.modernizr.custom.js"
    ));
}

//编辑:

以下似乎不起作用,因为我没有看到包含的脚本(注意,~/Kendo/ 指向主“shell”网站下的网络应用程序)。鉴于我是全新的,我无法发布图像。我很想向您展示我的 IIS 设置:

BundleConfig.cs: {

    bundles.Add(new ScriptBundle("~/bundles/Kendo/Scripts/kendoJS").Include(
     "~/Kendo/Scripts/kendo/2013.2.918/jquery-1.8.2.min.js"
    ,"~/Kendo/Scripts/kendo/2013.2.918/kendo.all.min.js"
    ,"~/Kendo/Scripts/kendo/2013.2.918/kendo.aspnetmvc.min.js"
    ,"~/Kendo/Scripts/kendo/kendo.modernizr.custom.js"
    ));

}

_layout.cshtml: {

@Scripts.Render("~/bundles/Kendo/Scripts/kendoJS")

}

【问题讨论】:

  • 还有..有什么问题?
  • 首先我收到“找不到目录”错误。所以现在,我已经将 /{version}/ 修改为实际的版本号。所以在我的 BundleConfig.cs 文件中,我有: bundles.Add(new ScriptBundle("~/bundles/Kendo/Scripts/kendoJS").Include("~/Kendo/Scripts/kendo/2013.2.918/jquery-1.8. 2.min.js"));现在在我的 _layout.cshtml 文件中,我通过以下方式引用包:@Scripts.Render("~/bundles/Kendo/Scripts/kendoJS");但是,脚本不包括在内
  • 一个不相关的问题 - Mondernizr 不应该包含在您的捆绑包中。那应该是您的head 中自己的缩小文件。其他脚本应该在</body>之前。

标签: asp.net-mvc


【解决方案1】:

您不能使用{version} 代替文件夹名称。

看看这个链接:http://www.asp.net/mvc/tutorials/mvc-4/bundling-and-minification

更新

如果 Kendo 是您的项目名称并且它不是文件夹,则无需将其添加到 小路。如下所示:

bundles.Add(new ScriptBundle("~/bundles/kendoJS").Include(
              "~/Scripts/kendo/2013.2.918/jquery-{version}.js"
));

如果 Kendo 是文件夹名称,则路径应如下所示:

bundles.Add(new ScriptBundle("~/bundles/kendoJS").Include(
              "~/Kendo/Scripts/kendo/2013.2.918/jquery-{version}.js"
));

【讨论】:

  • 感谢指正;我现在修改了 {version}...我会找到解决方法。在替换 {version} 之后,我似乎仍然没有正确包含脚本(虽然它确实摆脱了“找不到目录”错误)
  • 尝试更改 ScriptBundle 路径,然后再次测试。
  • 好吧,Kendo 是第 3 方 mvc.net 插件。当我创建剑道项目时,它将“jquery.js”脚本放在 Scripts 的根文件夹下,而所有其他剑道脚本都在“版本化”部分下。根据您的建议,我需要仔细观察。解决了。谢谢!!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2016-09-05
  • 1970-01-01
  • 1970-01-01
  • 2018-11-09
  • 2012-09-24
  • 2017-03-04
  • 1970-01-01
相关资源
最近更新 更多