Я лично не покупаюсь на «ИСПОЛЬЗУЙТЕ CDN ДЛЯ ВСЕХ СТАТИЧЕСКИХ !!» менталитет, поэтому я отказываюсь беспокоиться о копировании локальных скриптов в CDN, как вы описали. Конечно, на большие библиотеки можно ссылаться из существующих крупных CDN (Yahoo, Microsoft, Google), но для локальных скриптов это действительно не стоит хлопот, IMO.
Следуя этому ходу мыслей, я очень полюбил SquishIt. Нет необходимости использовать дополнительную конфигурацию XML или предварительную инициализацию. Просто включите его в мастер-файл или файл макета следующим образом:
<%= Bundle.Css()
.Add("~/Content/Reset.less")
.Add("~/Content/Site.less")
.Add("~/Scripts/rcarousel/widget/css/rcarousel.css")
.Add("~/Scripts/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.css")
.Add("~/Content/Fonts/Karla/stylesheet.css")
.Render("~/Cache/Bundle.css") %>
<%= Bundle.JavaScript()
.Add("~/Scripts/jquery-1.7.2.js")
.Add("~/Scripts/jquery-ui-1.8.19.js")
.Add("~/Scripts/modernizr-2.5.3.js")
.Add("~/Scripts/rcarousel/widget/lib/jquery.ui.rcarousel.js")
.Add("~/Scripts/jquery.fancybox-1.3.4/fancybox/jquery.fancybox-1.3.4.js")
.Add("~/Scripts/jquery.youtubelite.js")
.Render("~/Cache/Bundle.js") %>
Сказав это и многое другое по вашему мнению:
1) Мне неизвестны какие-либо библиотеки комплектов, поддерживающие автоматическое развертывание CDN. Обычный ход мыслей здесь состоит в том, чтобы CDN извлекал из каталога вашего веб-сайта и кэшировал его. Таким образом, развертывание осуществляется с помощью механизма вытягивания, а не проталкивания. В этой статье описывается как настроить получение источника с помощью CloudFront с сайтом wordpress. Я уверен, что конфигурация аналогична для ASP.NET.
2) Связка из локальных копий. Вы, вероятно, уже ссылаетесь на локальные копии в разработке, так зачем добавлять CDN в микс перед запуском?
3) Большинство облачных систем хранения (Amazon S3, Azure Storage, Rackspace Cloud Files) предлагают способ публикации файлов в облаке, которые остаются общедоступными только для чтения. Это зависит от API, поэтому метод зависит от вашего поставщика облачного хранилища.
person
Chris
schedule
04.09.2012