что лучше разместить скрипты в представлении _layout или в каждом представлении - PullRequest
2 голосов
/ 29 января 2012

Я работаю над веб-приложением asp.net MVC, в настоящее время я управляю сценариями следующим образом: - 1. Я поместил следующие сценарии в представление _layout, так как они используются большинством представления (но, конечно,не все представления): -

<script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
      <script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.min.js")" type="text/javascript"></script>
      <script src="@Url.Content("~/Scripts/jquery-ui-1.8.14.min.js")" type="text/javascript"></script>
  1. затем я сам добавил другие сценарии к связанным представлениям, если они им нужны.

, поэтому мойВопрос в том, достигнет ли этот подход лучшей производительности, поскольку я не собираюсь загружать все сценарии в представлении _layout?

Ответы [ 2 ]

1 голос
/ 29 января 2012

Поместите сценарии, которые будут использоваться всеми представлениями, в файл _layout.cshtml.

Затем поместите конкретные сценарии, такие как проверочные, в соответствующие представления, еще лучше в шаблоны редактора.

Еще лучше, используйте что-то вроде Кассеты, чтобы объединить все ваши скрипты в один файл .js, это сделает ваш сайт быстрее, так как пользователь должен будет кэшировать один файл и обслуживать один файл. Тогда вы бы обслуживали этот единственный файл .js из _layout.cshtml.

Кассета: http://getcassette.net/

SquishIt: http://www.codethinked.com/squishit-the-friendly-aspnet-javascript-and-css-squisher


У меня есть небольшая статья об использовании SquishIt с MVC3, хотя я предпочитаю кассету. Оба обеспечивают похожую функциональность.

http://sergiotapia.com/2012/01/using-squishit-in-an-asp-net-mvc3-web-application/

1 голос
/ 29 января 2012

Да, это лучшая практика. Но будьте внимательны, если вы используете определенный файл script в большинстве представлений, я бы поместил его и в ваш _Layout.cshtml. Тот факт, что он не используется в 100% представлений, не означает, что он не практичен и не рекомендуется включать его в представление макета.

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

Это серая зона, но я бы хотел сказать, что вы поступаете правильно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...