このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
URL を指定して ESM モジュール または CSS を動的に読み込みます。RunJS の各シーンで利用可能です。サードパーティの ESM ライブラリが必要な場合は ctx.importAsync() を、UMD/AMD ライブラリの場合は ctx.requireAsync() を使用します。.css のアドレスを渡すと、スタイルが読み込まれ、ページに注入されます。
| シーン | 説明 |
|---|---|
| JSBlock | Vue、ECharts、Tabulator などの ESM ライブラリを動的に読み込み、カスタムチャート、テーブル、ダッシュボードなどを実現します。 |
| JSField / JSItem / JSColumn | 軽量な ESM ユーティリティライブラリ(dayjs プラグインなど)を読み込み、レンダリングを補助します。 |
| ワークフロー / 操作イベント | 必要に応じて依存関係を読み込んでからロジックを実行します。 |
| パラメータ | 型 | 説明 |
|---|---|---|
url | string | ESM モジュールまたは CSS のアドレス。<パッケージ名>@<バージョン> という短縮形式や、<パッケージ名>@<バージョン>/<ファイルパス>(例: vue@3.4.0、dayjs@1/plugin/relativeTime.js)のようなサブパス指定に対応しており、設定に基づいた CDN プレフィックスが結合されます。完全な URL もサポートしています。.css を渡すとスタイルが読み込まれ注入されます。React に依存するライブラリの場合、?deps=react@18.2.0,react-dom@18.2.0 を追加することで、ページと同じ React インスタンスを共有できます。 |
.css の URL を渡すと、読み込み後にページへ注入されます)。vue@3.4.0 は実際には https://esm.sh/vue@3.4.0 をリクエストします。@dnd-kit/core、react-big-calendar など)は、ページの React インスタンスとの競合による "Invalid hook call" を避けるため、?deps=react@18.2.0,react-dom@18.2.0 を付与する必要があります。https://esm.sh)/+esm)ctx.importAsync() を優先してください。パッケージ名または完全な URL を使用して、ESM モジュールと CSS を動的に読み込む最も基本的な方法です。
ECharts を使用して、棒グラフと折れ線グラフを含む売上概要チャートを描画します。
Tabulator を使用して、ページネーションと行クリックイベントをサポートするデータテーブルをブロック内にレンダリングします。
FullCalendar とそのプラグインを ESM 方式で読み込み、基本的な月表示カレンダーをレンダリングする方法を示します。
@dnd-kit/core を使用して、ブロック内で Box をターゲットエリアにドラッグする最小限のドラッグ&ドロップの例を実装します。
この例は @dnd-kit/core のみに依存しており、Box を指定されたエリアにドラッグしたときに通知を表示します。RunJS において ctx.importAsync と React を組み合わせて最もシンプルなドラッグ操作を実現する方法を示しています。
dnd-kit の core / sortable / utilities を使用して、ドラッグによる並べ替えをサポートする垂直リストを実装します。
この例は @dnd-kit/core、@dnd-kit/sortable、@dnd-kit/utilities に基づいており、ドラッグで並べ替え可能なリストを実装し、ドラッグ終了後に順序を更新して「List reordered」と通知します。
react-big-calendar と date-fns によるローカライズを組み合わせ、現在のブロック内にイベント表示をサポートするカレンダーコンポーネントをレンダリングします。
frappe-gantt を使用して、タスクの開始/終了時間と進捗状況を表示するガントチャートビューをレンダリングします。
@asseinfo/react-kanban を利用して、Backlog や Doing などの列を含む基本的なカンバンボードをレンダリングします。
ctx.importAsync() を優先してください。?deps=react@18.2.0,react-dom@18.2.0 を追加してください。バージョンはページの React と一致させる必要があります。一致しない場合、Invalid hook call エラーが発生する可能性があります。