logologo
Start
Handbuch
Entwicklung
Plugins
API
Startseite
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
Start
Handbuch
Entwicklung
Plugins
API
Startseite
logologo
RunJS Übersicht
Module importieren
Rendern im Container

Globale Variablen

window
document
navigator

ctx

ctx.blockModel
ctx.collection
ctx.collectionField
ctx.dataSource
ctx.dataSourceManager
ctx.element
ctx.exit()
ctx.exitAll()
ctx.filterManager
ctx.form
ctx.getModel()
ctx.getValue()
ctx.getVar()
ctx.i18n
ctx.importAsync()
ctx.initResource()
ctx.libs
ctx.location
ctx.logger
ctx.makeResource()
ctx.message
ctx.modal
ctx.model
ctx.notification
ctx.off()
ctx.on()
ctx.openView()
ctx.render()
ctx.request()
ctx.requireAsync()
ctx.resource
ctx.route
ctx.router
ctx.setValue()
ctx.sql
ctx.t()
ctx.view
Next PageRunJS Übersicht
KI-Übersetzungshinweis

Dieses Dokument wurde von KI übersetzt. Für genaue Informationen lesen Sie bitte die englische Version.

#RunJS Übersicht

RunJS ist die JavaScript-Ausführungsumgebung in NocoBase für Szenarien wie JS-Blöcke, JS-Felder und JS-Aktionen. Der Code wird in einer eingeschränkten Sandbox ausgeführt, bietet sicheren Zugriff auf die ctx (Kontext-API) und verfügt über die folgenden Funktionen:

  • Top-Level await
  • Importieren externer Module
  • Rendern innerhalb von Containern
  • Globale Variablen

#Top-Level await

RunJS unterstützt Top-Level await, sodass der Code nicht in eine IIFE (Immediately Invoked Function Expression) eingeschlossen werden muss.

Nicht empfohlen

async function test() {}
(async () => {
  await test();
})();

Empfohlen

async function test() {}
await test();

#Importieren externer Module

  • Verwenden Sie ctx.importAsync() für ESM-Module (empfohlen)
  • Verwenden Sie ctx.requireAsync() für UMD/AMD-Module

#Rendern innerhalb von Containern

Verwenden Sie ctx.render(), um Inhalte in den aktuellen Container (ctx.element) zu rendern. Es werden die folgenden drei Formate unterstützt:

#JSX rendern

ctx.render(<button>Button</button>);

#DOM-Knoten rendern

const div = document.createElement('div');
div.innerHTML = 'Hello World';

ctx.render(div);

#HTML-Strings rendern

ctx.render('<h1>Hello World</h1>');

#Globale Variablen

  • window
  • document
  • navigator
  • ctx