【问题标题】:bundle and minification return 404捆绑和缩小返回 404
【发布时间】:2013-09-12 22:16:53
【问题描述】:
  1. System.Web.Optimization已安装
  2. bundle 配置如下

    using System.Web.Optimization;
    public class BundleConfig
    {
        public static void RegisterBundles(BundleCollection bundles)
        {
            bundles.Add(new ScriptBundle("~/Content/themes/base/js").Include("~/Scripts/Site.js"));
            bundles.Add(new StyleBundle("~/Content/themes/base/css").Include("~/Content/Site.css"));
    
        }
    }
    
  3. 将此添加到 Layout.cshtml

    @System.Web.Optimization.Scripts.Render("~/Content/themes/base/js")
    @System.Web.Optimization.Styles.Render("~/Content/themes/base/css")
    

css 缩小成功,但 js 文件返回 404 错误?

【问题讨论】:

  • @Andrei:感谢编辑
  • 嗯,你确实Scripts中有Site.js,对吧?
  • 是的,我可以通过网络浏览器访问它。 htt://localhost:8777/Scripts/Site.js

标签: c# asp.net asp.net-mvc http-status-code-404 bundling-and-minification


【解决方案1】:

确保您的捆绑包Content/themes/base/js 的虚拟路径与真实路径无关。出于这个原因,我们通常在虚拟路径中使用~/bundles

示例

public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/bundles/base/js").Include("~/Scripts/Site.js"));
    bundles.Add(new StyleBundle("~/bundles/base/css").Include("~/Content/Site.css"));

}

【讨论】:

  • 是的,你的权利。它不应与现有的物理位置相同。
【解决方案2】:

我的站点脚本包资源在我的一台生产服务器上突然收到 404 错误。

经过一番搜索,我发现this blogpost 建议在system.webServer 部分的web.config 中使用以下解决方案,效果很好。

<modules runAllManagedModulesForAllRequests="true">
    <remove name="BundleModule" />
    <add name="BundleModule" type="System.Web.Optimization.BundleModule" />
</modules>

【讨论】:

  • 这是为我解决的问题
猜你喜欢
  • 1970-01-01
  • 2017-12-13
  • 2014-11-26
  • 2013-06-27
  • 2012-06-28
  • 1970-01-01
  • 2017-09-19
  • 2018-05-11
  • 2016-08-28
相关资源
最近更新 更多