Проблема:
В офлайн-приложении HTML5, выполняемом в ASP.NET MVC 4.5, мы объединяем и уменьшаем стили и скрипты с помощью встроенной функции . Все работает хорошо с самими страницами, но для записи в манифест Cache, где (из-за того, что мы пишем его), он всегда излучает только связанный URL.
Итак, мы не можем отлаживать JavaScript в автономном режиме, так как отдельные файлы debug js не попадают в кэш приложения.
Код:
RegisterBundles
Вот как выглядит наш BundleConfig.RegisterBundles
:
// For more information on Bundling, visit http://go.microsoft.com/fwlink/?LinkId=254725
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/Scripts").Include(
"~/Scripts/*.js"
));
}
Разметка HTML
И мы включаем его в наш _Layout.cshtml
для самих страниц следующим образом:
@System.Web.Optimization.Scripts.Render("~/bundles/Scripts")
Это хорошо работает для страниц, выделяя отдельные js файлы, когда debug
есть true
, и один связанный файл, когда debug
- false
.
Вывод в debug=true
<script src="/Scripts/ScriptOne.js"></script>
<script src="/Scripts/ScriptTwo.js"></script>
<script src="/Scripts/ScriptThree.js"></script>
Вывод в debug=false
<script src="/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1"></script>
Кэш-манифеста
И вот как мы включаем скрипты в наш CacheManifest
@System.Web.Optimization.BundleTable.Bundles.ResolveBundleUrl("~/bundles/Scripts")
Вывод в debug=true
и debug=false
/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1
Что нам нужно?
Мы хотели бы знать, есть ли способ получить вывод Cache-Manifest следующим образом:
Вывод в debug=true
/Scripts/ScriptOne.js
/Scripts/ScriptTwo.js
/Scripts/ScriptThree.js
Вывод в debug=false
/bundles/Scripts?v=B0_RvAM_5ifnREcGnNQ3FO8qQp4vyLOdtCUJ-2mXSuA1