RunJS Overview
RunJS is the JavaScript execution environment used in NocoBase for scenarios such as JS Blocks, JS Fields, and JS Actions. Code runs in a restricted sandbox, providing safe access to the ctx (Context API) and includes the following capabilities:
- Top-level
await - Importing external modules
- Rendering within containers
- Global variables
Top-level await
RunJS supports top-level await, eliminating the need to wrap code in an IIFE.
Not Recommended
Recommended
Importing External Modules
- Use
ctx.importAsync()for ESM modules (Recommended) - Use
ctx.requireAsync()for UMD/AMD modules
Rendering within Containers
Use ctx.render() to render content into the current container (ctx.element). It supports the following three formats:
Rendering JSX
Rendering DOM Nodes
Rendering HTML Strings
Global Variables
windowdocumentnavigatorctx

