¿Alguna forma de forzar el modo estricto en el nodo?

No pude encontrar esta respuesta en ninguna parte, pero sí encontré varias listas de correo donde se discutió esto, sin embargo, estas son bastante antiguas y no tengo idea si esto se implementa o no.

¿Hay alguna forma de forzar el uso del modo estricto en node.js?

Escribir "use strict"; en todos mis archivos .js … bueno, prefiero que se vea forzado a usar el modo estricto, en lugar de agregar un texto adicional.

Según Lloyd ahora puedes ubicar

 "use strict"; 

en la parte superior de tu archivo en el nodo> = 0.10.7 , pero si quieres que toda tu aplicación se ejecute en forma estricta ( incluidos los módulos externos ) puedes hacer esto

nodo –use_strict

En el nodo 0.10.7 puede aplicar el modo estricto a nivel de archivo colocando "use strict"; en la parte superior de tu archivo. ¡Finalmente!

También puedes usar

https://npmjs.org/package/use-strict

es decir, escribir una vez

 require('use-strict') 

o incluso dar un paso adelante y usar

https://npmjs.org/package/node-strict

Tenga en cuenta que use-strict activará estrictamente más en cada módulo requerido después de la invocación.

Si prefiere un enfoque no invasivo, escribí otro módulo

https://www.npmjs.org/package/strict-mode

que habilita el modo estricto solo en su paquete. Creo que es más una solución de “Haz lo que quiero decir”.

También puede proporcionar el indicador estricto en la directiva de intérprete shebang.

 #!/usr/bin/env node --use_strict 

Pero actualmente (al menos antes de v0.9.x) sufre los mismos problemas descritos por los comentarios en la respuesta de @ chad-scira.

Simplemente use "use strict"; en la parte superior de los archivos aplicables. Sé que es tentador tratar de cortar la repetición, pero simplemente no se puede hacer en Javascript. El indicador de nodo que no se nombrará [1]

  • no está documentado, y no está soportado por Node.
  • ha enfrentado propuestas para eliminarlo.
  • es específico del nodo y no es compatible con ningún otro motor de JavaScript.
  • no está estandarizado
  • no es lo mismo que "use strict"; porque es un comstackdor global, y como todos los globales, usted está potencialmente afectando el código de otra persona.
  • todo está sujeto a errores. el modo estricto y el modo descuidado pueden estar sujetos a diferentes errores. es decir, algunos errores de modo estrictos son exclusivos del modo estricto

Algunos otros progtwigdores pueden pensar que esto es similar a -wALL o similar, no lo es. Esta es la funcionalidad estandarizada que habilita de forma ad-hoc (rompiendo el estándar) y cambiando la semántica de comstackdores de todos.

Notas a pie de página

  1. El indicador de nodo es --use_strict . No lo uses