For the complete documentation index, see llms.txt. This page is also available as Markdown.

Globals

El tiempo de ejecución de la escena garantiza la existencia de ciertos objetos y funciones dentro del entorno sandboxed de JavaScript, además de las utilidades estándar como Promise, Date o Math.

Los globals descritos a continuación son conceptos típicos de JavaScript, pero están adaptados al runtime de escenas de Decentraland y pueden no comportarse idénticamente a sus contrapartes en entornos de navegador o Node.

Globals

El runtime inyecta 6 definiciones en el ámbito global de la escena:

  1. console: una versión simplificada del típico console .

  2. objeto: un objeto donde la escena puede añadir sus interfaz pública.

  3. module: un contenedor para el objeto .

  4. La función global require: una función para cargar módulos proporcionados por el runtime por nombre.

  5. fetch: una implementación restringida del fetch function.

  6. WebSocket: una implementación restringida del WebSocket class.

Todos estos están definidos como propiedades de solo lectura, por lo que no pueden reasignarse. Algunos lanzarán excepciones cuando se usen a menos que se otorguen ciertos permissions se concedan a la escena.

Console

Las escenas tienen acceso a un console objeto, muy parecido al que proporciona un navegador o un entorno Node, aunque limitado a solo algunos de los métodos que normalmente encontrarías.

type Console = {
  log(...args: any): void
  info(...args: any): void
  debug(...args: any): void
  warning(...args: any): void
  error(...args: any): void
}

Al igual que sus contrapartes estándar, cada método acepta argumentos variables de cualquier tipo y los representa como mensajes legibles por humanos. Por ejemplo, esto es válido:

El comportamiento preciso de estos métodos depende del proveedor, pero los mensajes deben ser accesibles para los desarrolladores de escenas que depuran su código.

En el World Explorer basado en navegador de la Foundation, los mensajes de log aparecen en el panel de herramientas de desarrollo.

Imports and Exports

Las escenas pueden importar y exportar objetos usando la tradicional CommonJS module interface.

El La función global require function permite a las escenas acceder a módulos proporcionados por el runtime (como EngineApi o RestrictedActions), y nada más (no no accede a paquetes NPM o módulos por ruta).

Las propiedades añadidas al objeto objeto son la interfaz pública de la escena y se expondrán al runtime. De hecho, las escenas deben exponer al menos un método para ejecutarse correctamente (ver ejecución).

Las escenas escritas en lenguajes como TypeScript usan el más moderno import y export statements, que pueden transpilarse a usos compatibles con CommonJS de La función global require y objeto.

HTTP and WebSockets

El fetch y WebSocket globals funcionan exactamente como sus contrapartes bien conocidas (ver fetch y WebSocket en MDN), pero con algunas restricciones impuestas por el runtime.

Al llamar a la fetch function:

  • Se lanza un error si la URL no comienza con https://.

  • Se lanza un error si la escena no tiene el USE_FETCH permission.

  • Un timeout definido por la implementación puede abortar la solicitud.

Al usar la WebSocket class:

Aparte de estas diferencias, ambos casos siguen el comportamiento estándar.

Última actualización