Хранить jquery / javascript отдельно от asp.net MVC? - PullRequest
4 голосов
/ 24 октября 2009

Я пытаюсь найти лучший способ отделить мои скрипты, т.е. jquery / javascript от моего представления (html) в asp.net MVC ...

Кто-нибудь знает, как лучше всего это сделать?

Я вижу много запаха кода в моих взглядах ...

Я использовал в прошлом JavascriptMVC, который делает действительно хорошую работу и, возможно, это хорошая идея, чтобы объединить их, но, учитывая, что я не буду использовать часть представления javascriptmvc, может быть, это не то направление, в котором нужно следовать .. 1007 *

Мне бы очень понравились некоторые идеи и помогли бы наилучшим образом уберечь сценарии от представлений и т. Д.

Я использую несколько внешних модулей, таких как YUI и jquery, поэтому, если мне нужно использовать другой концепт / слой - я не вижу проблемы

С нетерпением ждем любой помощи

Thanksa

Ответы [ 2 ]

8 голосов
/ 24 октября 2009

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

Вот стратегия, которую я использую.

  1. Рефакторинг общего кода для плагинов. Поместите плагины в отдельный файл JS и включите их при необходимости.
  2. Используйте отдельный ContentPlaceHolder (CPH) для включений в скрипт и код только внутри закрывающего тега body на главной странице. Это сохраняет JS функционально отдельным на странице и обеспечивает его загрузку внизу страницы.
  3. Поместите общие JS включает чуть выше сценария CPH на главной странице.
  4. Поместите код, общий для каждой страницы, но содержащий ссылки для конкретной страницы после того, как общее включено в главную страницу.
  5. Старайтесь не размещать JS в частичных представлениях, используя живые обработчики и т. Д., Где это возможно.
  6. Обернуть весь код, кроме включений и определений функций, внутри $ (function () {} (документ готов).
  7. По возможности, используйте версии общего кода для сетей распространения контента (CDN).
2 голосов
/ 24 октября 2009

Вам будет легче помочь, если вы вставите фрагмент кода существующего кода в вопрос. Посмотрите на этот пост , чтобы увидеть, как вы можете отделить свой javascript от html.

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