Aviso de tradução por IA
Este documento foi traduzido por IA. Para informações precisas, consulte a versão em inglês.
ctx.requireAsync()
Carrega assincronamente scripts UMD/AMD ou montados globalmente via URL, bem como CSS. É adequado para cenários de RunJS que exigem bibliotecas UMD/AMD como ECharts, Chart.js, FullCalendar (versão UMD) ou plugins jQuery; passar um endereço .css carregará e injetará o estilo. Se uma biblioteca também fornecer uma versão ESM, priorize o uso de ctx.importAsync().
Casos de Uso
Pode ser usado em qualquer cenário de RunJS onde scripts UMD/AMD/globais ou CSS precisem ser carregados sob demanda, como JSBlock, JSField, JSItem, JSColumn, fluxo de trabalho, JSAction, etc. Usos típicos: gráficos ECharts, Chart.js, FullCalendar (UMD), dayjs (UMD), plugins jQuery, etc.
Definição de Tipo
Parâmetros
Valor de Retorno
- O objeto da biblioteca carregada (o primeiro valor do módulo do callback UMD/AMD). Muitas bibliotecas UMD se anexam ao
window(ex:window.echarts), portanto, o valor de retorno pode serundefined. Nesses casos, acesse a variável global conforme a documentação da biblioteca. - Retorna o resultado de
loadCSSquando um arquivo.cssé passado.
Descrição do Formato de URL
- Caminho abreviado: ex:
echarts@5/dist/echarts.min.js. Sob o CDN ESM padrão (esm.sh), ele solicitaráhttps://esm.sh/echarts@5/dist/echarts.min.js?raw. O parâmetro?rawé usado para obter o arquivo UMD original em vez de um wrapper ESM. - URL completa: Qualquer endereço de CDN pode ser usado diretamente, como
https://cdn.jsdelivr.net/npm/dayjs@1/dayjs.min.js. - CSS: Uma URL terminada em
.cssserá carregada e injetada na página.
Diferença para o ctx.importAsync()
- ctx.requireAsync(): Carrega scripts UMD/AMD/globais. Adequado para ECharts, Chart.js, FullCalendar (UMD), plugins jQuery, etc. As bibliotecas geralmente se anexam ao
windowapós o carregamento; o valor de retorno pode ser o objeto da biblioteca ouundefined. - ctx.importAsync(): Carrega módulos ESM e retorna o namespace do módulo. Se uma biblioteca fornecer ESM, use
ctx.importAsync()para melhor semântica de módulo e Tree-shaking.
Exemplos
Uso Básico
Gráfico ECharts
Gráfico de Barras Chart.js
dayjs (UMD)
Observações
- Formato do valor de retorno: Os métodos de exportação UMD variam; o valor de retorno pode ser o objeto da biblioteca ou
undefined. Se forundefined, acesse-o viawindowde acordo com a documentação da biblioteca. - Depend ência de rede: Requer acesso a um CDN. Em ambientes de rede interna, você pode apontar para um serviço próprio através de ESM_CDN_BASE_URL.
- Escolha entre importAsync: Se uma biblioteca fornecer tanto ESM quanto UMD, priorize o
ctx.importAsync().
Relacionados
- ctx.importAsync() - Carrega módulos ESM, adequado para Vue, dayjs (ESM), etc.
- ctx.render() - Renderiza gráficos e outros componentes em um contêiner.
- ctx.libs - React, antd, dayjs integrados, etc., sem necessidade de carregamento assíncrono.

