2011-01-22 9 views
10

Tengo un proyecto con literalmente cientos de archivos fuente de JavaScript. Me pregunto cuál es la mejor manera de habilitar el modo estricto para el proyecto. Entiendo las consecuencias de esta acción y solo estoy buscando asesoramiento con respecto a la implementación de esta función. Colocar el "uso estricto" en cada archivo no parece divertido.Cómo habilitar ECMAScript "use strict" en todo el mundo?

+9

Colocar "use strict" en cada archivo parece una tarea programable. – delnan

+0

Creo que podría probar macros en mi IDE para este. Ahora tendría una razón para aprenderlos ... – Tower

+0

@delnan, Bueno, es mejor si no es necesario hacerlo de esa manera. – Pacerier

Respuesta

4

Bueno, no tengo claro el contexto en el que se utilizarán los archivos javascript, pero el contexto es una aplicación web dinámica donde se cargan varios archivos de página, javascript, hojas de estilo, etc., cuando sea necesario , entonces solo crearía un solo archivo javascript con solo "use strict" dentro de él. Luego, incluya ese archivo en las etiquetas de su cabeza, que precede a todos los demás archivos javascript y asegúrese de que inserte dinámicamente los archivos javascript en el encabezado del documento de una aplicación web dada que los anexe después de su "uso estricto" .js archivo.

De esta forma no tendrá que pasar por cada uno de sus archivos .js y modificarlos individualmente.

+1

Según tengo entendido, "usar estricto" solo se aplica al archivo en el que se encuentra, por lo que lo que sugiere no funcionaría. –

+0

Por favor, vuelva a leer lo que dije. El "script de uso" se coloca en su propio archivo .js que, cuando se incluye en un archivo determinado, tendrá efecto en el archivo en el que se está incluyendo, así como en todos los demás archivos .js que se incluyen en la página. Funciona, he estado usando este método por un año más o menos. – Xaxis

+6

No estoy seguro de por qué se acepta o se modifica esta respuesta. El comentario de Xaxis es diferente de lo que está escrito en la respuesta (tal vez se modificó en la edición). @Darshan es correcto. 'use strict' tiene un alcance para la función o el archivo. Incluir una etiqueta

1

Como veo, no hay posibilidad de habilitar "use strict"; globalmente Tuve un problema similar y me obligaron a escribir un script para hacerlo de manera fácil y rápida (tenía más de 200 archivos en el proyecto), algunos archivos ya contenían esa declaración, otros no, así que lo revisé antes de agregar. Aquí adjunto mi solución escrita como comando bash.

para path en path1 parh2 anotherPatr; hacer para el archivo en $ (find $ path -name "* .js"); hacer si [[$ (grep "use strict" $ file | wc -l) -gt 0]]; luego eco $ archivo "ya uso estricto"; else sed -i '1i \ "use strict \";' $ archivo; fi; hecho; hecho;

Lo siento, eso se ve muy feo pero no escribí esto en el archivo de comandos. Simplemente lo ejecuto en la línea de comandos.

Cuestiones relacionadas