Necesito requerir una versión diferente del paquete Zoid npm dinámicamente en mi paquete JS, según una variable. Así por ejemplo:
if (isLatestVersion) { zoid = await import('https://unpkg.com/zoid@9.0.80/index.js') } else { zoid = await import('https://unpkg.com/zoid@9.0.31/index.js') }Sin embargo, cuando intento lo anterior me sale este error:
script.js:2 Uncaught (in promise) Error: Cannot find module 'https://unpkg.com/zoid@9.0.80/index.js' at webpackMissingModule (script.js:2) Presumiblemente, esto se debe a que no tengo zoid definido en mi paquete.json.
Entonces, básicamente, mi pregunta es, ¿hay alguna manera de importar bibliotecas desde un CDN como unpkg.com o skypack.dev, usando las importaciones dinámicas de Webpack (también conocido como división de código)?
La forma en que terminé resolviendo esto fue agregando dos versiones del mismo paquete en mi paquete.json. Así que ejecuté estos comandos:
yarn add zoid9080@npm:zoid@9.0.80 yarn add zoid9031@npm:zoid@9.0.31 yarn remove zoidLuego importé estos dos paquetes de forma estática, ya que en realidad no necesitaba una importación dinámica, y el código terminó siendo más simple también:
import zoid from 'zoid9080';