Open danielvy opened 1 year ago
The Lightbox inherits only a small fraction of the Core. It's mainly used to start loading the first image in parallel with the Core JS.
The script is intentionally split into two parts, so you can preload a large part of it separately and/or on-demand when a user actually needs the viewer.
@dimsemenov
The Lightbox inherits only a small fraction of the Core. It's mainly used to start loading the first image in parallel with the Core JS. The script is intentionally split into two parts, so you can preload a large part of it separately and/or on-demand when a user actually needs the viewer.
If there's any demo or documentation available, I'm interested in utilizing it.
Never mind, I didn't realize I was already handling it myself.
pswpModule: () => import('photoswipe')
It appears that
photoswipe.esm.js
andphotoswipe-lightbox.esm.js
modules have a lot of the same code. So when I import them as suggested in the docs:This produces many of the same functions in the final javascript. Treeshaking (I'm using Rollup) is not possible as these are seen as different code paths.
Using static imports:
Gives an even larger size of ~250k (unminified). This is also not treeshakable.
The documentation says:
So do I have to import core again and pass a separate PhotoSwap to the lightbox? Am I missing something?