El tutorial o código que hallarás en este post es la resolución más fácil y efectiva que hallamos a tu duda o problema.
Solución:
TL;DR Solo escribe export
en el ámbito más externo de sus archivos.
En algún momento, debe haber una desambiguación semántica sobre si un archivo debe tratarse como un módulo (y tienen su propio alcance) o un guion (y compartir el alcance global con otros scripts).
En el navegador, esto es fácil: debería poder usar un etiqueta y podrás usar módulos.
Pero, ¿qué pasa con cualquier otro lugar que utilice JavaScript? Lamentablemente, en este momento no existe una forma estándar de hacer esa distinción.
La forma en que TypeScript decidió abordar el problema fue simplemente afirmar que un módulo es cualquier archivo que contenga una importación o exportación.
Entonces, si su archivo no tiene ningún tipo de nivel superior import
o export
declaraciones, ocasionalmente verá problemas con las declaraciones globales que interfieren entre sí.
Para evitar esto, puede simplemente tener un export
declaración que no exporta nada. En otras palabras, solo escribe
export ;
en algún lugar en el nivel superior de su archivo.
GlobalVar
y las funciones están expuestas al espacio de nombres global, y TypeScript le advierte que la variable y el nombre del método se vuelven a declarar. Debido a que las dos funciones se declaran en el espacio de nombres global, solo necesita declararlas una vez.
Si desea hacer esto, use espacios de nombres.
namespace foo
declare const GlobalVar: any;
function baz()
namespace bar
declare const GlobalVar: any;
function baz()
Puede llamar a las funciones de la misma manera que las llama en C#, utilizando el nombre del espacio de nombres: bar.baz
o foo.baz
.
Recuerda recomendar esta división si lograste el éxito.