İlk GraalVM JavaScript Betiğinizi Yazın (2026)

İlk GraalVM JavaScript komut dosyanızı yazın: bir giriş noktası kaydeder, bir olayı tetikler ve Java'yı yeniden derlemeden sıcak yeniden yükleyin. Çalışır durumda bir örnek ile.

Guidesby trqUpdated June 4, 2026
Key takeaways
  • İlk adım, üç adımdır: kayıt, bir olayı yakalama ve bunu betikler klasörüne kaydetme.
  • Ev sahibi GraalVM paketini içerir, bu yüzden gerçek JavaScript yazarsınız ve onu kendiniz asla yüklemezsiniz.
  • Betikler, Java yeniden derlemesi olmadan saniyeler içinde yeniden yüklenir.
  • Bir betik, yalnızca ev sahibinin host-access beyaz listesi aracılığıyla sunduğu nesneleri çağırabilir.

İlk bir GraalVM JavaScript betiği yazmak, üç küçük adımdan oluşur: betiği ana makinenin giriş noktasıyla kaydetmek, bir olaya veya modüle bağlamak ve motorun yükleyebilmesi için betikler klasörüne kaydetmek. Motor, GraalVM Çok Dilli API üzerinde çalışır, bu nedenle betik gerçek JavaScript'tir ve herhangi bir Java derlemesi olmadan yeniden yüklenir.

Opal Nerede Çalışır

Opal, bir Fabric modudur ve GraalVM JavaScript betik çalıştırma motoruna sahiptir, bu nedenle bu adımlar doğrudan uygulanır. Başlamak için betik dokümanlarına bakın.

İlk olarak ihtiyacınız olanlar

Motoru yerleştiren bir ana program. Ana program GraalVM JavaScript ile birlikte gelir, komut dosyalarının çağırabileceği bir nesne kümesini sunar ve bir komut dosyası klasörünü izler. GraalVM'i kendiniz yüklemeyin; ana program onu içerir. Ana program size verdiği nesnelere karşı düz JavaScript yazarsınız.

Bu nesnelerin neye karşılık geldiğini bilmek yardımcı olur, ancak başlamak için herhangi bir Java yazmanıza gerek yoktur.

Üç adım

1

Betikleri klasörünü bul

Ev sahibi, başlatıldığında bilinen bir dizinden betikleri yükler. Tam yolu öğrenmek için ev sahibinin belgelerine bakın
2

Bir betik dosyası oluşturun

O klasörde yeni bir .js (veya .mjs) dosyası oluşturun. Sunucu, bir sonraki script yüklemesinde bunu algılayacaktır
3

Kaydet ve bağla

Dosya içinde, komut dosyasını ana makinenin giriş noktasıyla ilişkilendirin, ardından bir davranışa bir olay ekleyin veya bir modül tanımlayın

En basit örnek

Çoğu ana program, kendini kaydetmek için bir giriş noktası ve JavaScript'i programa bağlayan birkaç ara nesne sunar. Tam adlar ana programa göre değişse de, yapı aynıdır. İlk betik genellikle kendini duyurur ve tek bir olaya tepki verir:

// 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.");
});

Gerçek nesne ve yöntem adları için ana programın kendi API referansını okuyun. Önemli olan örüntüdür: kaydet, ardından bir olumayı tetikle veya bir modül tanımla

Çalışırken canlı yenileme

Dosyayı kaydedin ve betikleri yeniden yükleyin (veya canlı yeniden yüklemeyi desteklemiyorsa ana programı yeniden başlatın). Değişiklik, yeniden derleme olmadan etkili olur. Bu hızlı döngü, bir mod yerine betik yazmanın ana nedeni: bir betik saniyeler içinde yeniden yüklenirken, derlenmiş bir mod yeniden derlenmeli ve yeniden başlatılmalıdır.

YaklaşımYineleme döngüsüDilNe zaman uygun
GraalVM JavaScript betiğiDüzenle, kaydet, yeniden yükleJavaScriptHızlı düzeltmeler, özel davranış
Derlenmiş modYeniden derle, yeniden başlatJava veya KotlinDaha büyük özellikler, daha derin bağlantılar

Yazılar neler yapabilir ve neler yapamaz

Bir betik, yalnızca ana nesne tarafından sunulan nesnelere erişebilir. Ana nesne, GraalVM Çoklu Dil Barındırma ana erişim beyaz listesi aracılığıyla betiklerin erişebileceği sınıfları ve yöntemleri belirtir ve varsayılan olarak reddeder. Bu, betikleri güvenli ve öngörülebilir tutar. İstediğiniz nesne sunulmamışsa, ana nesne onu eklemek zorundadır; betik tarafında beyaz listeyi aşamazsınız.

SSS