2014-09-23 3 views
1

Я хочу знать, что possinle добавить файл ASCX в комплектации какКакой файл можно использовать в asp.net комплектации

bundles.Add(new ScriptBundle("~/bundles/First").Include(
        "~/Script/js.ascx")); 

Я хочу знать, потому что полагаю, я должен добавить еще один файл связавшись после выпуска продукта, я должен снова создать для этого.

ответ

2

Нет, мы не можем включить файл ASCX в пучках Мы используем только JS и CSS файлы для пакетирования ... вот небольшое объяснение, почему мы используем пучки

В веб-приложение становится более сложным, число набранных внешние скрипты, от которых он зависит, значительно возрастают. Начните с jQuery и некоторых библиотек приложений, таких как Backbone.js (и его зависимость, Underscore), а затем запустите плагины из фреймворков пользовательского интерфейса, таких как Foundation и некоторые скрипты проверки формы - не говоря уже о самом коде вашего приложения! - и вы можете легко обнаружить ваше приложение имеет десятки внешних файлов, каждый из которых должен быть загружен на каждую обновленную страницу.

Для решения этой проблемы разработчики часто используют инструменты под названием “bundlers”, которые объединяют файлы сценариев - или stylesheets-together в один файл, тем самым уменьшая накладные расходы ввода-вывода при отправке нескольких файлов через Интернет. Многие из них также выполняют процесс, известный как «минификация», в результате чего исключаются несущественные пробелы, а имена переменных изменяются как можно короче, что приводит к нечитабельной, но высокоэффективной части кода.

ASP MVC предоставляет два индивидуальных классов для пакетирования: ScriptBundle, для файлов JavaScript, и StyleBundle для CSS. Оба этих класса обеспечивают встроенную минимизацию, тем самым снижая общую полезную нагрузку. Вам нужно указать уникальный путь для каждого пакета.

var myBundle = new ScriptBundle("~/bundles/js"); 

Используя этот пакет, вы можете просто добавить новые файлы, используя свои методы (или целые каталоги!):

myBundle.IncludeDirectory("~/js/vendor/"); 
myBundle.Include("~/js/app.js"); 

После того, как вы закончите с каждой пачке, добавьте его к коллекции, принятой в качестве параметра

bundles.Add(myBundle); 

Продолжите эту модель до тех пор, пока вы не настроили все пакеты, которые вы хотели бы.

+0

Это не дает ответа на вопрос о том, можно ли обратиться к ASCX файлов в пачке. – Nzall

+0

@NateKerkhofs Я отредактировал thanks – Tushar

1

Ну я не могу ответить на этот конкретный вопрос (не пробовал), но для решения «проблемы»:

Я хочу знать, потому что полагаю, я должен добавить еще один файл в пакетирования после выпуск продукта, то я должен снова построить для этого.

В соответствии с docs on bundling у вас есть опции для включения файлов и даже каталогов.и джокеры:

Итак:

BundleCollection bundles = BundleTable.Bundles; 

bundles.Add((new ScriptBundle("~/bundle/custom") 
    .IncludeDirectory("~/Scripts/edsf/", "ed*"))); 

Средства:

  • Я нацеливание папку /Scripts/edsf
  • Я хочу, чтобы все сценарии, начиная с "ed", в указанном каталоге, будет в наборе скриптов, например
    • edsf.js
    • edfoo.js

Если добавить новый файл, edbar.js, в каталог /Scripts/edsf, он будет поставляться в комплекте автоматически, и вы увидите строку версии получить обновление.

Нет необходимости строить ....

Hth ...

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