1

У меня есть DynamicFoldewrBundle:Добавить дополнительные упорядоченные пакеты в DynamicFolderBundle?

bundles.Add(new DynamicFolderBundle("userScripts", "*.js", true, new JsMinify())); 

Так что если я бегу:

http://optimization.localtest.me/files/templates/designs/HelloTreble/userScripts

... Он сделает все файлы Javascript в комплекте и уменьшенная в HelloTreble папка.

OK.

Вопрос:

Но как я могу добавить обычай заказал пучки к DynamicFolderBundle?

Я попытался это:

bundles.Add(new DynamicFolderBundle("userScripts", "*.js",new JsMinify()) 
     .Include("~/Scripts/A.js").Include("~/Scripts/B.js")) 

Какие делает работу.

Но выход:

  • Первое: A.JS
  • Второе: B.js
  • Третье: [Все HelloTreble «ы JS файлы, уменьшенная]

( В одном файле, конечно,)

Но что я действительно после i s:

  • Первый: [Все HelloTreble «ы JS файлы, уменьшенная]
  • Второе: A.js
  • Третье: B.js

( В одном файле конечно)

+0

Вы можете попробовать реализовать свой собственный 'IBundleOrderer' и установить его при создании' 'DynamicFolderBundle': вар userScripts = новый DynamicFolderBundle ("userScripts", "* .js", новый JsMinify()) .INCLUDE ("~/Сценарии/A.js") включают в себя ("~/Scripts/B.js."); userScripts.Orderer = new MyBundlerOrderer(); bundles.Add (userScripts); ' – nemesv

+0

@RoyiNamir Я только что проверил с моим кодом mvc v5.2.3, и мой порядок скриптов такой же, как и то, что вы ищете. A.js, B.js, затем миниатюрные скрипты. – Dandy

ответ

3

Вы можете реализовать IBundleOrderer интерфейс как

public class MyBundleOrderer : IBundleOrderer 
{ 
    public IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files) 
    { 
     var list = new List<BundleFile>(files); 
     list.Reverse(); 
     return list; 
    } 
} 

и затем прикрепите к вашему DynamicFolderBundle как

var myDynamicBundle = new DynamicFolderBundle("userScripts", "*.js",true,new JsMinify()) 
.Include("~/Scripts/bootstrap.js") 
.Include("~/Scripts/respond.js"); 

myDynamicBundle.Orderer = new MyBundleOrderer(); 
bundles.Add(myDynamicBundle); 

Ваши скрипты будут оказанной в порядке respond.js, то bootstrap.js, то ваши сценарии в userScripts связке.

Смежные вопросы