Tim*_*Tim 6 asp.net-mvc resourcebundle asp.net-mvc-4 asp.net-optimization
我正在使用RC,我已经通过NuGet查看了所有内容都是最新的.在我的global.asax.cs中我得到了:
BundleTable.Bundles.AddDefaultFileExtensionReplacements();
BundleTable.Bundles.AddDefaultIgnorePatterns();
BundleTable.Bundles.AddDefaultFileOrderings();
Bundle scripts = new Bundle("~/Scripts");
scripts.IncludeDirectory("~/Scripts", "*.js");
BundleTable.Bundles.Add(scripts);
Bundle css = new Bundle("~/Content/css");
css.IncludeDirectory("~/Content/css", "*.css", false);
BundleTable.Bundles.Add(css);
Run Code Online (Sandbox Code Playgroud)
我尝试了一些不同的配置而没有任何改进.
然后在我的布局中我得到了:
<link href="@BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" />
<script src="@BundleTable.Bundles.ResolveBundleUrl("~/Scripts")"> </script>
Run Code Online (Sandbox Code Playgroud)
当页面加载它看起来很体面的网址时:
<link href="/Content/css?v=QAsFYXHCbnaU70oGVxpgi9py9iKQrT9C4BVNdHa7xoI1" rel="stylesheet" type="text/css" />
Run Code Online (Sandbox Code Playgroud)
但该网址重定向到:
/Content/css/
Run Code Online (Sandbox Code Playgroud)
返回404找不到错误...

有人有任何想法吗?
〜/ Scripts和〜/ Content/css虚拟路径已经存在于磁盘上,所以你需要让它们成为一些虚拟网址,让我们说〜/ Scripts/js和〜/ Content/styles就是它,现在很好.
Bundle scripts = new Bundle("~/Scripts/js");
scripts.IncludeDirectory("~/Scripts", "*.js");
BundleTable.Bundles.Add(scripts);
Bundle css = new Bundle("~/Content/styles");
css.IncludeDirectory("~/Content/css", "*.css", false);
BundleTable.Bundles.Add(css);
Run Code Online (Sandbox Code Playgroud)
同样在MVC4中,路由,分发包和过滤器配置已移至
〜/ App_Start /(RouteConfig,BundleConfig,FilterConfig).cs
所以检查你是否有那些,如果是,那么在那里写你的配置.
| 归档时间: |
|
| 查看次数: |
2023 次 |
| 最近记录: |