Dividere il tema Javascript in più file

I temi complessi di JavaScript possono essere suddivisi in più file, per mantenere le cose ben organizzate.

Per utilizzare questa funzionalità, è sufficiente aggiungere file alla cartella /javascripts nella directory del tema. Questi file non possono essere modificati dall’interfaccia utente di Discourse, quindi è necessario utilizzare la Theme CLI o caricare il tema da git.

I file Javascript sono trattati esattamente come quelli in core/plugins, quindi è necessario seguire la stessa struttura di file/cartelle. I file del tema vengono caricati dopo core/plugins, quindi se i nomi dei file corrispondono, prevarrà la versione del tema.


Come esempio, ora è possibile realizzare Using Plugin Outlet Connectors from a Theme or Plugin aggiungendo un singolo file al 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>
}

Per utilizzare l’API JS, creare un inizializzatore:

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

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

export default apiInitializer((api) => {
  // Il tuo codice qui
});

Se hai bisogno di un asset .js totalmente diverso (ad esempio per un web worker), consulta questo argomento.


Questo documento è controllato tramite versione - suggerisci modifiche su github.

27 Mi Piace