¿Cómo incluir funciones en el espacio de nombres/módulo cuando no tiene un módulo?
ejemplo: tengo un espacio de nombres:
namespace Java {}en mecanografiado, generalmente cuando necesitamos una función en el espacio de nombres o módulo, agregamos 'exportar':
namespace Java { export function version() { return "java8"; } } namespace JavaScript { function JavaVer() { return Java.version(); } }Pero si configuro el módulo en ninguno:
// tsconfig "module": "none",Si el módulo no es ninguno, no puedo usar la importación/exportación:
website/sourcecode/main.ts:17:21 - error TS1148: Cannot use imports, exports, or module augmentations when '--module' is 'none'.17 función de exportación versión() {}
¿entonces Que puedo hacer?
Puedes usar un objeto plano:
const Java = { version () { return "java8"; }, }; const JavaScript = { JavaVer () { return Java.version(); }, }; const vJ = Java.version(); // string const vJS = JavaScript.JavaVer(); // string console.log(vJ === vJS); // trueSe respondió aquí: en realidad "no puede tener importaciones o exportaciones en el nivel superior". Las importaciones y exportaciones dentro de los espacios de nombres están bien porque no exportan nada del archivo .ts en tiempo de ejecución, y siempre que el archivo siga siendo "no un módulo" módulo = Ninguno funciona bien. Larga explicación aquí