2009-10-06 22 views
12

Cuando desarrollo una aplicación, quiero usar jquery-1.3.2.js, y cuando la despliegue, quiero usar jquery -1.3.2.min.js?alternar entre jquery-1.3.2.js y jquery-1.3.2.min.js

¿Cuál es la mejor manera de cambiar entre dos sin comentar ni descomentar manualmente uno?

Gracias.

+2

¿Por qué no solo utiliza siempre el minimo? – recursive

+0

algunas veces, quiero depurar en alguna función de jquery, creo que la que no es mínima es más legible. –

Respuesta

2

Nombre ambos archivos jquery.js por ejemplo, e ingrese alguna carpeta (libs) Cuando deply, no despliegue la carpeta lib.

+0

O simplemente use un enlace simbólico. –

+0

¿Windows tiene enlaces simbólicos? – middus

2

Estoy seguro de que alguien puede traducir esta respuesta a asp.net: hago un condicional basado en mi APPLICATION_ENVIRONMENT definido en mis proyectos. No estoy seguro de si hay algo similar en asp.net, pero si está en un servidor de producción, puede servir .min, y en una máquina de desarrollo/prueba puede servir a la biblioteca completa.

1

Si va a agregar mediante programación la declaración, entonces la mejor manera es utilizar la directiva del compilador

#if DEBUG 

. En el área DEPURAR utilice su biblioteca completamente expandida, y en el no DEPURADOR (cuando compila en el modo de lanzamiento para su publicación) ponga la versión .min. Entonces solo debe preocuparse de asegurarse de compilar Release cuando se publique.

O bien, tenga archivos .config separados para sus diferentes entornos de lanzamiento y especifique su JavaScript incluido allí.

MSDN link to compiler directives.

+0

Esto parece ser algo similar de lo que estoy hablando en mi respuesta. – gnarf

+0

Parece ser. Excepto que sugiero 2 alternativas y también incluí ejemplos y enlaces, que generalmente son más útiles. También esto está etiquetado como asp.net-mvc, por lo que mi respuesta fue .net específica. Así que realmente, no es tan similar. – Evildonald

0

Puede nombrar guión como jquery.js. Y agregue otros dos archivos js. Primero se nombrará como jquery.js.debug, otro onw jquery.js.release. Y al compilar la aplicación, use el archivo js apropiado.

Lo estoy usando para cambiar los archivos web.config. Se puede encontrar información adicional here.

0

Si está usando django, puede usar django-compress para manejar esto automáticamente.

8

Tengo un método de extensión HtmlHelper para cargar mis archivos de JavaScript. Se ve algo como esto ...

public static string JavascriptTag(this HtmlHelper html, string javascriptName) 
{ 
    var format = "<script src=\"/Content/Scripts/{0}.js\" type=\"text/javascript\"></script>\r\n"; 

#if (!DEBUG) 
    javascriptName += ".min"; 
#endif 

    return string.Format(format, javascriptName); 
} 

cual se le llama de manera muy sencilla gustan:

<%= Html.JavascriptTag("jquery-1.3.2") %> 
<%= Html.JavascriptTag("general") %> 

que pueda usar esta convención porque yo también tengo una tarea de construcción que se lleva todos los archivos JS dentro de mi contenido/guiones, los minimiza y luego inserta .min en el nombre del archivo.

Si usted no tiene ese lujo, se puede utilizar una variación de este modo:

public static string JavascriptTag(this HtmlHelper html, string devFileName, string liveFileName) 
{ 
    var format = "<script src=\"{0}\" type=\"text/javascript\"></script>\r\n"; 

    var fileNameToUse = devFileName; 
#if (!DEBUG) 
    fileNameToUse = liveFileName; 
#endif 

    return string.Format(format, fileNameToUse); 
} 

que luego podrían ser llamados como:

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.3.2.js", "/Content/Scripts/jquery-1.3.2.min.js") %> 
<%= Html.JavascriptTag("/Content/Scripts/general.js", "/Content/Scripts/general.min.js") %> 

Una ventaja adicional de este método es que puede usar un CDN para bibliotecas, por ejemplo

<%= Html.JavascriptTag("/Content/Scripts/jquery-1.8.2.js", "http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.2.min.js") %> 
Cuestiones relacionadas