Dividir el tema Javascript en múltiples archivos

Los temas complejos de JavaScript se pueden dividir en varios archivos para mantener una buena organización.

Para utilizar esta funcionalidad, simplemente añada archivos a la carpeta /javascripts en el directorio de su tema. Estos archivos no se pueden editar desde la Interfaz de Usuario de Discourse, por lo que debe utilizar la Theme CLI o cargar el tema desde git.

Los archivos de JavaScript se tratan exactamente igual que en el núcleo/plugins, por lo que debe seguir la misma estructura de archivos/carpetas. Los archivos del tema se cargan después del núcleo/plugins, por lo que si los nombres de los archivos coinciden, la versión del tema tendrá prioridad.


Como ejemplo, ahora puede lograr lo siguiente: Using Plugin Outlet Connectors from a Theme or Plugin añadiendo un único archivo a su tema:

/javascripts/my-theme/connectors/discovery-list-container-top/add-header-message.gjs

import Component from "@glimmer/component"; import { service } from
"@ember/service"; export default class HeaderMessage extends Component {
@service currentUser;

	<template>
  Welcome
  {{this.currentUser.username}}
	</template>
}

Para usar la API de JS, cree un inicializador:

/javascripts/discourse/api-initializers/init-theme.gjs

import { apiInitializer } from "discourse/lib/api";

export default apiInitializer((api) => {
  // Your code here
});

Si necesita un activo .js totalmente diferente (por ejemplo, para un web worker), consulte este tema.


Este documento está controlado por versiones: sugiera cambios en github.

27 Me gusta