5

Tôi đang sử dụng RC và tôi đã kiểm tra mọi thứ được cập nhật qua NuGet. Trong global.asax.cs ive của tôi có:Tại sao gói tài nguyên được chuyển hướng trong ứng dụng ASP MVC4 của tôi?

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); 

Tôi đã thử một vài cấu hình khác nhau về điều này mà không có cải tiến.

Sau đó, trong ive bố trí của tôi có:

<link href="@BundleTable.Bundles.ResolveBundleUrl("~/Content/css")" rel="stylesheet" type="text/css" /> 
<script src="@BundleTable.Bundles.ResolveBundleUrl("~/Scripts")"> </script> 

Khi trang web tải của nó có url nhìn phong nha:

<link href="/Content/css?v=QAsFYXHCbnaU70oGVxpgi9py9iKQrT9C4BVNdHa7xoI1" rel="stylesheet" type="text/css" /> 

Nhưng url mà chuyển hướng đến:

/Content/css/ 

nào trả về lỗi 404 không tìm thấy ...

bundle redirection...

Bất kỳ ai có ý tưởng nào?

Trả lời

3

Logic mô-đun gói quyết định có xử lý yêu cầu hay không, sẽ không chuyển yêu cầu đến các tệp hoặc thư mục hiện có. Vì vậy, đó là lý do tại sao yêu cầu gói của bạn không hoạt động khi chúng sống ở cùng một đường dẫn ảo như một thư mục hiện có (hoặc tệp).

6

Đường dẫn ảo ~/Scripts và ~/Content/css đã tồn tại trên đĩa, vì vậy bạn cần tạo một số url ảo, cho phép nói ~/Scripts/js và ~/Content/styles, nó ổn rồi.

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); 

Cũng trong MVC4 Routing, Gói, và lọc cấu hình đã được chuyển đến các

~/App_Start/(RouteConfig, BundleConfig, FilterConfig) cs

để kiểm tra mà bạn có, nếu có thì hãy viết cấu hình của bạn ở đó.

+2

Dường như đó là đường dẫn ảo. Tôi chắc rằng tôi đã nhìn thấy một số ví dụ bằng cách sử dụng các đường dẫn này! – Tim