logologo
スタート
マニュアル
開発
プラグイン
API
ホーム
English
简体中文
日本語
한국어
Español
Português
Deutsch
Français
Русский
スタート
マニュアル
開発
プラグイン
API
ホーム
logologo
RunJS 概要
モジュールのインポート
コンテナ内でのレンダリング

グローバル変数

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 概要
AI翻訳通知

このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。

#RunJS 概要

RunJSは、NocoBaseのJSブロック、JSフィールド、JSアクションなどのシナリオで使用されるJavaScript実行環境です。コードは制限されたサンドボックス内で実行され、ctx(コンテキストAPI)に安全にアクセスでき、以下の機能を備えています:

  • トップレベルの await(Top-level await)
  • 外部モジュールのインポート
  • コンテナ内でのレンダリング
  • グローバル変数

#トップレベルの await(Top-level await)

RunJSはトップレベルの await をサポートしており、コードをIIFE(即時実行関数式)で囲む必要はありません。

非推奨

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

推奨

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

#外部モジュールのインポート

  • ESMモジュールには ctx.importAsync() を使用します(推奨)
  • UMD/AMDモジュールには ctx.requireAsync() を使用します

#コンテナ内でのレンダリング

ctx.render() を使用して、現在のコンテナ(ctx.element)にコンテンツをレンダリングします。以下の3つの形式をサポートしています:

#JSXのレンダリング

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

#DOMノードのレンダリング

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

ctx.render(div);

#HTML文字列のレンダリング

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

#グローバル変数

  • window
  • document
  • navigator
  • ctx