Estoy probando Webpack por primera vez en uno de mis antiguos sitios web. El sitio web tiene JQuery instalado a través de CDN.
En uno de mis archivos js, necesito tener el complemento Fancybox js, así que importo como se muestra a continuación
import { fancybox } from "@fancyapps/fancybox"; import "@fancyapps/fancybox/dist/jquery.fancybox.min.css";Ejecuté "npm run dev" y el paquete web me dio el error "No se puede resolver "jquery". Así que tengo que incluir Jquery como complemento en mi webpack.config.js de la siguiente manera
plugins: [ new webpack.ProvidePlugin({ $: "jquery", jQuery: "jquery", "window.jQuery": "jquery", }), ],Ejecute "npm run dev" nuevamente y funciona como se esperaba. Mi pregunta es cómo evitar la carga duplicada de jquery ya que la plantilla del sitio web ya incluye JQuery a través de CDN y ahora mi archivo de salida del paquete web también incluye JQuery. Traté de eliminar el Jquery CDN pero luego provocó que mis otros archivos js se rompieran. Gracias.
Encontré la solución a mi problema. Agregándolo aquí para cualquier persona que tenga un problema similar en el futuro. En lugar de importar jquery en el paquete web, configuré la configuración del paquete web para usar jquery externo de la siguiente manera
externals: { jquery: "jQuery", },