Pregunta

Estoy tratando de encontrar la mejor manera de mantener mis scripts, es decir, jquery / javascript separados de mi vista (html) en asp.net MVC ...

¿Alguien tiene alguna idea de la mejor manera de hacer esto?

Estoy viendo mucho olor a código en mis vistas ...

He usado en el pasado JavascriptMVC, que hace un trabajo realmente bueno y tal vez sea una buena idea combinarlos, pero considerando que no usaré la parte de vista del javascriptmvc, tal vez no sea la dirección correcta a tomar.

Realmente me encantarían algunas ideas y ayuda sobre la mejor manera de mantener las secuencias de comandos lejos de las vistas, etc.

Estoy usando varios módulos externos como YUI y jQuery, por lo que si necesito emplear otro concepto / capa, no veo ningún problema

Esperamos cualquier ayuda

Thanksa

¿Fue útil?

Solución

Es posible que (o no) tengamos una diferencia filosófica en cuanto a la forma en que se debe mantener separado el javascript. En mi opinión, está bien tener javascript en la página siempre y cuando no esté incrustado en el mismo marcado. Si es posible, debería estar desactivado en sus propios archivos, pero cuando hace referencia directamente a elementos específicos de la vista, prefiero tenerlo en el propio archivo de la vista.

Aquí está la estrategia que utilizo.

  1. Refactorizar código común a los complementos. Coloque los complementos en un archivo JS separado e inclúyalos cuando sea necesario.
  2. Use un ContentPlaceHolder (CPH) separado para incluir y codificar el script justo dentro de la etiqueta del cuerpo de cierre en la página maestra. Esto mantiene el JS funcionalmente separado en la página y garantiza que se cargue en la parte inferior de la página.
  3. Poner JS común incluye justo encima del script CPH en la página maestra.
  4. Coloque el código común a cada página, pero que contenga referencias específicas de la página después de las comunes incluye en la página maestra.
  5. Evite poner JS en vistas parciales mediante el uso de controladores en vivo, etc. siempre que sea posible.
  6. Envuelva todo el código, excepto las definiciones de funciones y, dentro de $ (function () {} (documento listo).
  7. Use versiones de código común de la red de distribución de contenido (CDN) siempre que sea posible.

Otros consejos

Será más fácil ayudarlo si pega un fragmento de código de su código existente en la pregunta. Mire esta publicación del blog para ver cómo puede separar su javascript de su html.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top