Podemos importar dinámicamente chart.js desde skypack si es necesario.
const mod = await import("https://cdn.skypack.dev/chart.js"); mod.Chart.register(...mod.registerables);Sin embargo, no podemos registrar un complemento cargado dinámicamente.
La única forma en que podemos usar complementos es cargándolos desde una etiqueta de script.
Hemos creado un codepen para jugar con el módulo chartjs cargado de forma dinámica o mediante una etiqueta de secuencia de comandos.
https://codepen.io/dbauszus-glx/pen/NWgQNjj
Esto funciona si se carga en el objeto de ventana global.
var myChart = new window.Chart( document.getElementById("chart").getContext("2d"), { responsive: true, type: dataview.chart.type || "bar", plugins: [ChartDataLabels],Esto no funciona si el complemento de etiqueta de datos se carga como un módulo.
El gráfico funciona si los complementos están comentados desde la configuración del gráfico.
const mod = await import("https://cdn.skypack.dev/chart.js"); mod.Chart.register(...mod.registerables); const plugin = await import('https://cdn.skypack.dev/chartjs-plugin-datalabels') var myChart = new mod.Chart( document.getElementById("chart").getContext("2d"), { responsive: true, type: dataview.chart.type || "bar", plugins: [plugin.default],