jQuery korrekt ins Theme einbinden

Hallo,

ich habe zuvor jQuery über die Theme Optionen hinzugefügt, per CDN.
Mit folgendem Code:

<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js" integrity="sha512-894YE6QWD5I59HgZOGReFYm4dnWc1Qt5NtvYSaNcOP+u1T9qYdvdihz0PPSiiqn/+/3e7Jo4EaG7TubfWGUrMQ==" crossorigin="anonymous" referrerpolicy="no-referrer"></script>

Funktioniert alles, meine Dateien im Theme welche auf jQuery basieren laufen auch.

Nun wollte ich jQuery lokal hosten, habe mir also die verlinkte Datei heruntergeladen und habe es im Theme an die oberste Stelle gesetzt und meine eigenen Dateien kamen erst danach.

Irgendwas läuft da aber was schief und mein JS funktioniert nicht mehr korrekt weil jQuery zu fehlen scheint.

Meine Theme.php sieht so aus:

<?php

namespace Shopware\Themes\meintheme;

use Shopware\Components\Form as Form;

class Theme extends \Shopware\Components\Theme
{
    protected $extend = 'Clay';
    protected $javascript = [
        'src/js/vendors/jquery.min.js',
        'src/js/jquery.meinjs.js'        
    ];
    
    protected $name = <<<'SHOPWARE_EOD'
    
meintheme name
SHOPWARE_EOD;

    protected $description = <<<'SHOPWARE_EOD'

SHOPWARE_EOD;

    protected $author = <<<'SHOPWARE_EOD'

SHOPWARE_EOD;

    protected $license = <<<'SHOPWARE_EOD'

SHOPWARE_EOD;

    public function createConfig(Form\Container\TabContainer $container)
    {
    }
}

jQuery liegt natürlich im richtigen (oben verlinkten) Ordner, also: theme/frontend/_public/src/js/vendors

Hat jemand eine Idee wo der Fehler ist?
Liegt es an der erneuten Komprimierung durch Shopware? Wie hoste ich jQuery lokal und binde es am besten ein wenn es nicht so geht?
Klar ich könnte es irgendwo auf den Webspace legen und über die Theme Einstellungen wie zuvor verlinken.
Aber kriege ich das auch direkt ins Theme rein irgendwie?

Soweit ich weiß hat Shopware 5 ja eh schon JQ drin, also das sollte nicht nochmal geladen werden müssen.

Ja du hast recht. Habe es jetzt auch in den Docs gefunden.

Note: When you add JavaScript with the $javascript array you will also have access to jQuery. If you’d like further information about creating your own jQuery plugins you can take a look at our Guide: Getting started with the statemanager and the jQuery plugin base

Also hat sich das erledigt. Danke dir!