2013-08-05 13 views
8

dodałem paczkę w BundleConfig.cs jak pokazano poniżej:wiązkach Ładowanie w ASP.NET MVC 4

bundles.Add(new ScriptBundle("~/bundles/angular").Include("~/Scripts/angular.min*")); 

W _Layout.cshtml Mam następujący:

<body> 
    @RenderBody() 

    @Scripts.Render("~/bundles/jquery") 

    @Scripts.Render("~/bundles/angular") 

    @RenderSection("scripts", required: false) 
</body> 
</html> 

w ruch sieciowy nie pokazuje pliku kątowego.

Odpowiedz

20

sprzedaż wiązana w ASP.NET MVC jest dość sprytny, ponieważ rozumie * .min i kiedy użyć lub nie, aby go użyć. Więc jeśli to zrobić w swoim zestawie:

bundles.Add(new ScriptBundle("~/bundles/angular").Include("~/Scripts/angular.js")); 

W debug-mode, wysyła żądanie do "/scripts/angular.js" i uwalniania trybie wyśle ​​wniosek do "/scripts/angular.min.js"

W celu skorzystania z tego powinieneś umieścić oryginalny i zminiony plik w folderze skryptów. W ten sposób, gdy jesteś debugowania masz pełny dostęp do nieskompresowanego źródła oraz w środowisku produkcyjnym, zoptymalizowany plik zostanie załadowany

+0

Dlaczego downstream? Ta odpowiedź jest poprawna. –

+0

Pamiętaj tylko, że jeśli '.min' nie istnieje dla pliku niemodyfikowanego, wbudowany mifier zrobi to za ciebie w oparciu o niezmodyfikowany plik. Naprawdę nie ma powodu, aby przechowywać minified pliki obok niezmodyfikowanych plików, ponieważ czasami powoduje to duże zamieszanie, jeśli zaktualizujesz niezminiany plik do nowszych wersji, ale ten minified jest nadal stary. – ppumkin

0

dałeś błędna nazwa pliku

~/Scripts/angular.min* 

zamiast powinno być

~/Scripts/angular.js 

.min będzie automatycznie dodany w trybie produkcyjnym \

Bundler not including .min files

+0

Nazwa pliku jest angular.min.js –

+0

pobieranie zarówno pliki skompresowane i nieskompresowane i umieścić je w folderze –

+0

mam edytowane moją odpowiedź na to link –

0

w moim przypadku problem był z Global.asax.cs

trzeba mieć

BundleConfig.RegisterBundles (BundleTable.Bundles);

w Application_Start()