Skip to content

[Issue] (Video) Calling jarallax-wrapper and loading on demand librairies #878

Open
@m2-assistant

Description

This issue is automatically created based on existing pull request: #865: (Video) Calling jarallax-wrapper and loading on demand librairies


I needed to replace jarallax with jarallax-wrapper to make it work with a custom Js bundler (Magepack Bundle) Indeed, without jarallax-wrapper, window.jarallax is not populated and return an error (undefined var).

I take advantage of this commit to suggest to load on demand libraries.

Additional Details

At the time, I was using a bundler for production (https://github.com/magesuite/magepack) to manage JavaScript files. This issue is isolated to that setup.

When I compiled the files, the jarallax object was not defined, likely due to a context issue or the way the bundler handles modules (specifically, the order of the JS files).

Magento provide the jarallax-wrapper module to call the jarallax class and attach it to the window (global) object, which is why I submitted this issue in the first place to solve mine.

But the ways the requirejs-config file is declared (shim), Magento_PageBuilder/js/resource/jarallax/jarallax-video would be sufficient :

shim: {
    'Magento_PageBuilder/js/resource/jarallax/jarallax-video': {
        deps: ['jarallax-wrapper', 'vimeoWrapper']
    }
}

(it would be great to load vimeoWrapper and vimeo only on demand too)

Nowadays, with HTTP/2 and HTTP/3, bundlers are not always ideal for frontend performance which generate big JS files. It's up to you to decide whether addressing this is still relevant.

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions