在捆绑jQuery的CSS,VS2012发布天青404错误(404 errors on bundle

2019-07-18 23:43发布

我有一个使用jQuery的日期选择的事情(在常规VS2012 MVC4模板实现)网站。 它的外观和本地主机上运行时工作正常。 但是,当我发布(天青),一些CSS的缺失。 在Chrome浏览器开发工具显示在两个css文件404错误:

http://cyclelog.azurewebsites.net/Content/jquery.ui.base.css http://cyclelog.azurewebsites.net/Content/jquery.ui.theme.css

我注意到,有我的源代码树中没有这样的文件 - 而这两个文件都在〜/内容/主题/底座(未直属内容/)。 我不知道,使这个原因是什么 - 就像我说的 - 的CSS正常工作在本地主机上。

在默认的模板创建的我没有修改捆绑配置。 或者说,我做到了,但只是在努力解决这个问题 - 没有工作。 我恢复了包初始化原代码:

bundles.Add(new StyleBundle("~/Content/css").Include(
            "~/Content/site.css",                
            "~/Content/themes/base/jquery.ui.all.css"));

bundles.Add(new StyleBundle("~/Content/themes/base/css").Include(
    "~/Content/themes/base/jquery.ui.core.css",                        
    "~/Content/themes/base/jquery.ui.resizable.css",
    "~/Content/themes/base/jquery.ui.selectable.css",
    "~/Content/themes/base/jquery.ui.accordion.css",
    "~/Content/themes/base/jquery.ui.autocomplete.css",                        
    "~/Content/themes/base/jquery.ui.button.css",
    "~/Content/themes/base/jquery.ui.dialog.css",
    "~/Content/themes/base/jquery.ui.slider.css",
    "~/Content/themes/base/jquery.ui.tabs.css",
    "~/Content/themes/base/jquery.ui.datepicker.css",
    "~/Content/themes/base/jquery.ui.progressbar.css",
    "~/Content/themes/base/jquery.ui.theme.css"));

有任何想法吗?

Answer 1:

问题是列入"~/Content/themes/base/jquery.ui.all.css"在你的第一个包。 移动该文件的第二包,它会工作。

它的工作原理,因为本地本地,捆绑不会发生(假设你在调试模式)。 该文件中的@import工作,因为它正在寻找正确的目录( "/Content/themes/base/" ),因为该链接被渲染为:

<link href="/Content/themes/base/jquery.ui.all.css" rel="stylesheet"/>

当你部署此,该文件将被捆绑到~/Content/css 。 样式表绑定,现在呈现为:

<link href="/Content/css?v=IqLBj6MTQkC-CU1" rel="stylesheet"/>

所以,现在两个@import声明失败,因为该目录中不存在的两个文件。

但是,它们在存在"~/Content/themes/base/"这就是为什么它会在第二束,当一切都在释放模式被捆绑的工作。

你怎么可以在本地复制这个问题与信息更多阅读: Scripts.Render使用过时的JavaScript文件



文章来源: 404 errors on bundled jquery css, VS2012 publishing to Azure