モジュールのインポート
RunJS では、組み込みモジュール(ctx.libs を通じて直接使用、import 不要)と外部モジュール(ctx.importAsync() または ctx.requireAsync() を使用してオンデマンドで読み込み)の 2 種類のモジュールを使用できます。
組み込みモジュール - ctx.libs(import 不要)
RunJS には一般的に使用されるライブラリが組み込まれており、ctx.libs を通じて直接アクセスできます。import や非同期読み込みは不要です。
例:React と antd
例:ctx.libs.math
例:ctx.libs.formula
外部モジュール
サードパーティライブラリが必要な場合は、モジュールの形式に応じて読み込み方法を選択します:
- ESM モジュール →
ctx.importAsync()を使用 - UMD/AMD モジュール →
ctx.requireAsync()を使用
ESM モジュールのインポート
ctx.importAsync() を使用して、URL 指定で ESM モジュールを動的に読み込みます。JS ブロック、JS フィールド、JS アクションなどのシーンに適しています。
- url:ESM モジュールのパス。短縮形式
<パッケージ名>@<バージョン>またはサブパスを含む形式<パッケージ名>@<バージョン>/<ファイルパス>(例:vue@3.4.0、lodash@4/lodash.js)をサポートしており、設定された CDN プレフィックスが付与されます。フル URL もサポート しています。 - 戻り値:解決されたモジュールの名前空間オブジェクト。
デフォルトは https://esm.sh
設定されていない場合、短縮形式は https://esm.sh を CDN プレフィックスとして使用します。例:
esm.sh サービスの自前構築
社内ネットワークや独自の CDN が必要な場合は、esm.sh プロトコルと互換性のあるサービスをデプロイし、環境変数で指定できます:
- ESM_CDN_BASE_URL:ESM CDN のベース URL(デフォルトは
https://esm.sh) - ESM_CDN_SUFFIX:オプションのサフィックス(例:jsDelivr の
/+esm)
自前構築については以下を参照してください:https://github.com/nocobase/esm-server

