Использование Cassette.net, MVC 3, Razor, C#, относительных местоположений и общих макетов, как вы получаете ссылки в правильном порядке без изменения исходных файлов javascript?Cassette.web, MVC 3, Shared Layout: Получить ссылки в правильном порядке?
В общей компоновке, я ссылку JQuery, как это:
Bundles.Reference("~/Scripts/jquery-1.7.2.js");
Тогда в представлении я добавить еще одну ссылку:
Bundles.Reference("~/Scripts/myScript.js");
MyScript зависит от JQuery, но Кассетный ссылки MyScript перед jQuery:
<script src="/_cassette/asset/Scripts/js/myScript.js?...
<script src="/_cassette/asset/Scripts/jquery-1.7.2.js?...
Мне показалось странным, что скрипты, на которые ссылаются дочерние страницы, отображают b перед родительскими скриптами.
Я вижу, что вы можете добавлять примечания к своим скриптам, например, /// <reference path="other.js" />
, но я действительно не хочу изменять код javascript, чтобы включить это.
Update:
Я добавил
Bundles.Reference("~/Scripts/jquery-1.7.2.js","head")
Bundles.Reference("~/Scripts/js/myScript.js","body")
, который по крайней мере, ставит мой сценарий после того, как скрипт JQuery с использованием @Bundles.RenderScripts("head");
и @Bundles.RenderScripts("body");
внутри соответствующих тегов. Кажется, что скрипты добавлены в порядке. Я все равно хотел бы знать, как настраивать эти сценарии с помощью какого-либо типа Bundle.config или как получить родительские страницы для заказа скриптов перед дочерними страницами с использованием общих макетов.
Обозначение комментария - это правильный способ достижения этого, насколько мне известно. Вы также упомянули перегрузку, которая занимает место. Лично я не вижу недостатка в отношении комментариев. Вы не функционально меняете библиотеку javascript, и на самом деле вы получаете график зависимостей для работы. – Khepri
Я не нашел способ заказать скрипты даже с комментариями, когда некоторые Bundles.Reference происходят в родительском и дочернем макетах. Кажется, он всегда ставит дочерние ссылки. Например, jQuery, на который ссылаются в родительском макете/представлении, следует за тегами сценария в дочернем представлении, поскольку это не связано с тем, что jQuery не был определен. –