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?
Respuesta
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.
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. –
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
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
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.
- 1. JavaScript: ¿Se puede habilitar el modo estricto de ECMAScript 5 ("use strict") usando comillas simples ('use strict')?
- 2. ¿Qué entornos (javascript) admiten el modo estricto ECMAscript 5? (también conocido como "use strict")
- 3. "use strict" solo en depuración?
- 4. ¿Cómo está todo el mundo almacenando conexiones?
- 5. Google Maps API V3: mostrar todo el mundo
- 6. trigraph ??/ignorado, use -trigraphs para habilitar
- 7. En Perl, ¿cómo puedo usar Tie :: IxHash con un diccionario mientras está activado 'use strict'?
- 8. "use strict"; + jQuery.getScript() = el script no puede exportar al espacio de nombres global
- 9. semántica VariableStatement en ECMAScript
- 10. Cómo forzar al compilador de cierre de google a mantener "use strict"; en el código compilado js?
- 11. ¿Cuál es la forma correcta de usar jQuery en conjunción con 'use strict'?
- 12. Detener IntelliJ 11 agregando "use strict" a cada definición de función anidada cuando JSLint está habilitado
- 13. Mapeando el mundo en ggplot2
- 14. JavaFX: ¿Cómo hacer que mi componente personalizado use todo el espacio disponible desde el diseño principal?
- 15. ¿Cómo habilitar JMXMP en Tomcat?
- 16. ¿Cómo se ve el eclipse en el mundo académico?
- 17. ¿Cuál es la mejor manera de sincronizar grandes cantidades de datos en todo el mundo?
- 18. ¿Puedo suprimir las infracciones de análisis de código de FX Cop en todo el mundo?
- 19. Node.js, Cygwin y Socket.io entran en un bar ... Node.js arroja ENOBUFS y todo el mundo muere
- 20. Glassfish en el mundo real
- 21. ORM en el mundo real
- 22. JavaScript (ECMAScript 5) Tutorial
- 23. Cómo deshabilitar HTTP Strict Transport Security?
- 24. Cómo habilitar 'wget' para descargar todo el contenido de HTML con Javascript
- 25. ¿Qué es ECMAScript?
- 26. ¿Cómo lo ayudará Ecma-262 (EcmaScript 5)?
- 27. Cómo proporcionar ECMAScript 5 (ES 5) -shim?
- 28. EBNF para ECMAScript?
- 29. ¿Cómo habilitar el toque múltiple en cocos2d?
- 30. Cómo habilitar el zoom en UIScrollView
Colocar "use strict" en cada archivo parece una tarea programable. – delnan
Creo que podría probar macros en mi IDE para este. Ahora tendría una razón para aprenderlos ... – Tower
@delnan, Bueno, es mejor si no es necesario hacerlo de esa manera. – Pacerier