Asset bundling: Where did jquery go?

Where did jquery go? What do I not understand? ;)

I created this asset, to accommodate some theme package called betube…


class BetubeAsset extends AssetBundle

{

    public $sourcePath = '@common/assets/betube';

    public $baseUrl = '@web';

    public $css = [

        'css/app.css',

        'css/theme.css',

        'css/font-awesome.min.css',

        'layerslider/css/layerslider.css',

        'css/owl.carousel.min.css',

        'css/owl.theme.default.min.css',

        'css/responsive.css'   ,

    ];

    public $js = [

        'bower_components/what-input/what-input.js',

        'bower_components/foundation-sites/dist/foundation.js',

        'js/jquery.showmore.src.js',

        'js/app.js',

        'layerslider/js/greensock.js',

        'layerslider/js/layerslider.transitions.js',

        'layerslider/js/layerslider.kreaturamedia.jquery.js',

        'js/owl.carousel.min.js',

        'js/inewsticker.js',

        'js/jquery.kyco.easyshare.js',


    ];

    public $depends = [

        // This is a dependency of FoundationAsset. I expected it to load jquery first

        //'yii\web\JqueryAsset',


        'foundationize\foundation\FoundationAsset',

    ];

}



I swiped this from https://github.com/foundationize/yii2-foundation


class FoundationAsset extends AssetBundle 

{

    //public $basePath = '@webroot';

//    public $basePath = null; // see construct further below

//    public $baseUrl = '@web';

//    public $sourcePath = null;

    

    public $sourcePath = '@vendor/foundationize/yii2-foundation';

    

    public $css = [

        // The core Foundation CSS

        //'https://cdn.jsdelivr.net/foundation/6.1.1/foundation.min.css', 

        // For CSS autocompleting, we'll use direct files instead of CDN

        'css/foundation.min.css',

        // Motion UI: http://foundation.zurb.com/sites/docs/motion-ui.html

        'https://cdnjs.cloudflare.com/ajax/libs/motion-ui/1.1.1/motion-ui.min.css'

        

    ];

    // JS awesomeness: http://www.jsdelivr.com/projects/foundation

    public $js = [

        //'https://cdn.jsdelivr.net/foundation/6.1.1/foundation.min.js',   // The core Foundation JS

        // We will use Yii2's built-in front and backend validation instead of abide

        //'https://cdn.jsdelivr.net/foundation/6.1.1/js/foundation.abide.js',

        'js/foundation.min.js',

        'js/foundationize.js',        

    ];

    // Depends on jQuery

    public $depends = [

        'yii\web\JqueryAsset'

    ]; 

       

}



In my view I write:


BetubeAsset::register($this);  // $this represents the view object



Betube depends on foundation which depends on jquery.

Seems straightforward?

But I am stuck. jquery is not loaded at all.

View source…


yii-debug-toolbar has script below footer, then the bottom load:


})();</script><script src="/assets/3e477400/js/foundation.min.js"></script>

<script src="/assets/3e477400/js/foundationize.js"></script>

<script src="/assets/adf2365c/bower_components/what-input/what-input.js"></script>

<script src="/assets/adf2365c/bower_components/foundation-sites/dist/foundation.js"></script>

<script src="/assets/adf2365c/js/jquery.showmore.src.js"></script>

<script src="/assets/adf2365c/js/app.js"></script>

<script src="/assets/adf2365c/layerslider/js/greensock.js"></script>

<script src="/assets/adf2365c/layerslider/js/layerslider.transitions.js"></script>

<script src="/assets/adf2365c/layerslider/js/layerslider.kreaturamedia.jquery.js"></script>

<script src="/assets/adf2365c/js/owl.carousel.min.js"></script>

<script src="/assets/adf2365c/js/inewsticker.js"></script>

<script src="/assets/adf2365c/js/jquery.kyco.easyshare.js"></script></body>

</html>



Nothing wrong with the code above. Works great. Thank you Yii2 !

In the course of messing about I had put this in my config then forgot about it. Once I removed it, my code/dependencies above worked.


    'components' => [


        /*** dsm 21 may 17 : From SO somewhere. This ensures you never load bootstrap or jquery

        'assetManager' => [

            'bundles' => [

                'yii\web\JqueryAsset' => [

                    'js'=>[]

                ],

                'yii\bootstrap\BootstrapPluginAsset' => [

                    'js'=>[]

                ],

                'yii\bootstrap\BootstrapAsset' => [

                    'css' => [],

                ],


            ],

        ],

        ***/