Scrivi il tuo primo script JavaScript GraalVM (2026)

Scrivi il tuo primo script JavaScript GraalVM: registra un punto di ingresso, intercetta un evento e ricaricalo a caldo senza ricompilare Java. Con un esempio funzionante.

Guidesby trqUpdated June 4, 2026
Key takeaways
  • Un primo script è composto da tre passaggi: registrazione, aggancio di un evento, salvataggio nella cartella degli script.
  • L'host include GraalVM, quindi si scrive JavaScript reale e non lo si installa mai da soli.
  • Gli script vengono ricaricati a caldo in pochi secondi, senza bisogno di ricostruire Java.
  • Uno script può chiamare solo gli oggetti esposti dall'host tramite la whitelist di accesso all'host.

Scrivere il primo script JavaScript per GraalVM significa compiere tre semplici passaggi: registrare lo script con il punto di ingresso dell'host, associarlo a un evento o modulo e salvarlo nella cartella degli script, in modo che l'engine lo carichi. L'engine si basa sull'API Polyglot di GraalVM, quindi lo script è JavaScript reale e si ricarica senza ricompilare alcun codice Java.

Dove si integra Opal

Opal è un mod Fabric con un motore di scripting JavaScript GraalVM, quindi questi passaggi si applicano direttamente. Per iniziare, consulta la documentazione di scripting.

Cosa ti serve innanzitutto

Un programma host che integra il motore. L'host include GraalVM JavaScript, espone un insieme di oggetti che gli script possono chiamare e monitora una cartella degli script. Non devi installare GraalVM separatamente; l'host lo include. Scrivi JavaScript standard contro gli oggetti che l'host ti fornisce.

Conoscere a cosa corrispondono quegli oggetti aiuta, ma non devi scrivere alcun codice Java per iniziare.

I tre passaggi

1

Trova la cartella script

L'host carica gli script da una directory nota all'avvio. Consulta la documentazione dell'host per il percorso esatto
2

Crea un file script

Crea un nuovo file .js (o .mjs) in quella cartella. L'host lo rileverà la prossima volta che caricherà gli script.

3

Registra e aggancia

All'interno del file, registra lo script con il punto di ingresso dell'host, quindi associa un comportamento a un evento o definisci un modulo

Un esempio minimo

La maggior parte degli host fornisce uno script con un unico punto di ingresso per la registrazione e alcuni oggetti proxy che collegano JavaScript al programma. I nomi esatti dipendono dall'host, ma la struttura è la stessa. Uno script iniziale di solito si annuncia e reagisce a un solo evento:

// Register the script with the host (names vary by host).
script.register({
  name: "hello-world",
  version: "1.0.0",
});
 
// React to an event the host exposes.
script.on("enable", () => {
  client.print("Hello from my first script.");
});

Consulta la documentazione API dell'host per i nomi reali degli oggetti e dei metodi. Il punto è il modello: registrare, quindi collegare un evento o definire un modulo

Ricaricamento a caldo mentre lavori

Salva il file e ricarica gli script (o riavvia l'host se non supporta il live reload). La modifica ha effetto senza bisogno di ricostruire. Questo ciclo veloce è il motivo principale per cui è preferibile usare script invece di compilare un mod: uno script si ricarica in pochi secondi, mentre un mod compilato deve essere ricostruito e rilanciato.

ApproccioCiclo di iterazioneLinguaggioQuando è adatto
Script JavaScript GraalVMModifica, salva, ricaricaJavaScriptPiccole modifiche, comportamenti personalizzati
Mod compilatoRicostruisci, rilanciaJava o KotlinFunzionalità più ampie, hook più profondi

Cosa possono e non possono fare gli script

Uno script può accedere agli oggetti esposti dall'host e nient'altro. L'host dichiara quali classi e metodi gli script possono utilizzare tramite la whitelist di accesso polyglot di GraalVM, e l'impostazione predefinita è il blocco. Questo garantisce la sicurezza e la prevedibilità degli script. Se l'oggetto desiderato non è esposto, l'host deve aggiungerlo; non è possibile superare la whitelist dal lato script.

FAQ