Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
Carrega dinamicamente módulos ESM ou CSS via URL, aplicável a vários cenários do RunJS. Use ctx.importAsync() quando bibliotecas ESM de terceiros forem necessárias, e ctx.requireAsync() para bibliotecas UMD/AMD; passar um endereço .css carregará e injetará os estilos na página.
| Cenário | Descrição |
|---|---|
| JSBlock | Carregar dinamicamente bibliotecas ESM como Vue, ECharts ou Tabulator para implementar gráficos, tabelas, painéis personalizados, etc. |
| JSField / JSItem / JSColumn | Carregar bibliotecas utilitárias ESM leves (ex: plugins do dayjs) para auxiliar na renderização. |
| Fluxo de trabalho / Eventos de ação | Carregar dependências sob demanda antes de executar a lógica de negócio. |
| Parâmetro | Tipo | Descrição |
|---|---|---|
url | string | O endereço do módulo ESM ou CSS. Suporta a forma abreviada <pacote>@<versão> ou subcaminhos <pacote>@<versão>/<caminho-do-arquivo> (ex: vue@3.4.0, dayjs@1/plugin/relativeTime.js), que serão concatenados com o prefixo do CDN de acordo com a configuração; URLs completas também são suportadas. Quando um arquivo .css é passado, ele será carregado e injetado como um estilo. Para bibliotecas que dependem do React, você pode adicionar ?deps=react@18.2.0,react-dom@18.2.0 para garantir que elas compartilhem a mesma instância do React com a página. |
.css para carregá-la e injetá-la na página).vue@3.4.0 na verdade solicita https://esm.sh/vue@3.4.0.@dnd-kit/core, react-big-calendar) devem adicionar ?deps=react@18.2.0,react-dom@18.2.0 para evitar conflitos com a instância do React da página, o que poderia levar a erros de "Invalid hook call".https://esm.sh)./+esm para o jsDelivr).ctx.importAsync() é preferível.Demonstra o uso mais básico do carregamento dinâmico de módulos ESM e CSS por nome de pacote ou URL completa.
Usa o ECharts para desenhar um gráfico de visão geral de vendas com gráficos de barras e linhas.
Demonstra a renderização de uma tabela de dados com paginação e eventos de clique em linha em um bloco usando o Tabulator.
Mostra como carregar o FullCalendar e seus plugins via ESM e renderizar um calendário básico com visualização mensal.
Usa o @dnd-kit/core para implementar um exemplo mínimo de arrastar um Box para uma área de destino dentro de um bloco.
Este exemplo depende apenas do @dnd-kit/core para disparar uma notificação quando um Box é solto em uma área específica, demonstrando a interação de arrastar e soltar mais simples combinando ctx.importAsync + React no RunJS.
Implementa uma lista ordenável vertical usando o core, sortable e utilities do dnd-kit.
Este exemplo utiliza @dnd-kit/core, @dnd-kit/sortable e @dnd-kit/utilities para implementar uma lista ordenável que atualiza sua ordem e exibe uma mensagem "List reordered" após o arrasto.
Renderiza um componente de calendário que suporta a exibição de eventos no bloco atual usando react-big-calendar e date-fns para localização.
Usa o frappe-gantt para renderizar uma visualização de gráfico de Gantt mostrando os horários de início/fim das tarefas e o progresso.
Utiliza o @asseinfo/react-kanban para renderizar um quadro Kanban básico com colunas como Backlog e Doing dentro de um bloco.
ctx.importAsync() para obter uma melhor semântica de módulos.?deps=react@18.2.0,react-dom@18.2.0. A versão deve corresponder à versão do React usada pela página, caso contrário, um erro "Invalid hook call" pode ocorrer.