2012-05-01 20 views
7

Aquí está mi dilema:Mirando a eliminar los comentarios de una gran cantidad de archivos javascript

soy un novato (actualmente internado y ayudando a mantener dos sitios de comercio electrónico) en Javascript. Recientemente me asignaron eliminar todos los comentarios que ocurren en nuestras bibliotecas de Javascript (¡que son más de 25,000 comentarios!). Obviamente quiero encontrar una función o algún programa preexistente que pueda analizar el código, eliminando todos los caracteres que siguen // o */...

He examinado algunos minificadores disponibles en línea como Yui, jscompressor. com, y uglifyJS que haría esta tarea más automatizada, pero hay algunos problemas. O son demasiado agresivos (acortando nombres de variables, eliminando todos los espacios en blanco, etc.) o requieren que alimente una línea o un archivo a la vez. Me ocupo literalmente de miles de archivos .js.

Detalles adicionales: nuestro entorno de desarrollo es Eclipse IDE y xammp; los idiomas son html, php, css.

¡Cualquier recomendación de un programa que se ajuste a mis necesidades sería genial!

+14

qué en la tierra que desea eliminar los comentarios pero no minify? – Mathletics

+2

hm. es posible crear un script de un reg ex para finales de línea. PERL definitivamente podría hacer eso (creo). –

+2

http://jscompress.com/ debería hacerlo por ti .. Hay toneladas de otros minificadores en línea tanto para js como para css. Es una buena práctica mantener el archivo original con sangría y comentarios y minimizar el archivo que se va a producir. – MilkyWayJoe

Respuesta

-1

De hecho, no es tan fácil crear una expresión regular que elimine todos los comentarios de un documento de JavaScript.

La solución básica es utilizar:

 yourJavascriptString.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, ''); 

Por desgracia, no siempre funciona. Si necesita una solución más completa, visite este sitio web: http://james.padolsey.com/javascript/removing-comments-in-javascript/

+0

-1 ya que esto no siempre funciona, ni siquiera cerca. – djechlin

2

Eche un vistazo más de cerca a uglifyjs. No comprime ni truena por defecto (tiene que dar las opciones -c y -m, respectivamente), y puede elegir detalladamente qué tipos de compresión hace, incluso al nivel de especificar una expresión regular para qué tipo de comentarios para eliminar E incluso puede imprimir bastante en el camino de salida, si así lo desea. Entonces, ¿cuál es el problema con usarlo?

0

Sé que esta pregunta tiene algunos años, pero todas las strippers de comentarios de Javascript que encontré no pudieron manejar el archivo Javascript de 2.6 mb que estaba intentando quitar.

he creado un jsFiddle con el siguiente código, a continuación, pegar el archivo de 2,6 MB en el cuadro de texto y funcionó para mí:

$("textarea").val($("textarea").val().replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\//g,"")); /*remove these comment types*/ 

$("textarea").val($("textarea").val().replace(/\/\/.*/g,"")); // remove these comment types 

https://jsfiddle.net/40okonqo/

espero que ayude a alguien.

Crédito: Solía ​​información que se encuentra aquí para ayudar con la expresión regular: http://blog.ostermiller.org/find-comment

Cuestiones relacionadas