javascript - Obteniendo 'no se puede volver a declarar la variable de ámbito de bloque' para la variable 'message'
Soy un desarrollador de aplicaciones de escritorio que está tratando de aprender la avalancha de tecnologías para la programación web. Decidí enfocarme en Angular (2-4 lo que sea) porque parecía que podría estar presente durante más de un año. Estoy tomando un curso que se centra en TypeScript en este momento. Estoy usando Visual Studio Code (1.14.0 - acabo de actualizarlo) con TypeScript versión 2.4.1 (Eso es lo que muestra en la esquina inferior derecha).
El instructor nos está mostrando cómo 'transpilar' con líneas de comando (lo cual fue otro lío en el que perdí mi mañana - ver tsc.cmd en lugar de tsc).
El ejemplo en cuestión es simplemente esta línea, la primera y única línea en el editor de Visual Studio Code:
let message = 0;
Veo la línea roja de error bajo el 'mensaje' que me dice que:
[ts] No se puede volver a declarar la variable con alcance de bloque 'message'.
Funcionó para el instructor (en su MAC) pero también lo hizo el comando del compilador ts.
Si lo cambio a
let messag = 0;
El error desaparece. No puedo encontrar dónde message es un comando, declaración o variable global en TypeScript.
Parece que estoy ejecutando la última versión de Node y TypeScript. Solo me preocupa que algo no esté instalado correctamente en mi máquina.
Respuesta #1
Todavía me estoy acostumbrando a las idiosincrasias de VS Code. Mi problema fue que puse copias 'archivo' de mi código anterior en una subcarpeta sin darme cuenta de que estas se cargarían como parte del 'ensamblaje'.
¡No cierres simplemente la carpeta! Si estás viendo solo un archivo, el editor desactivará intellisense para TypeScript.
Mi solución fue mover mis archivos archivados fuera de la carpeta Y renombrarlos para que su extensión ya no fuera .ts.
Respuesta #2
¿Es un proyecto de npm? Si no, haz que lo sea y usa las funciones de tsconfig.json, donde puedes excluir archivos si es necesario. ¿Tal vez también usar GIT? Podrías crear un repositorio plantilla (con una configuración predeterminada) para clonar y luego agregar cosas específicas.