Войти с помощью github
Форум /

Добрый день!

Подскажите, пожалуйста как правильно подключить скрипт по URL используя loader. Посмотрел для примера принцип подключения jQuery и сделал по аналогии, но скрипт не подключается. Не могу разобраться что я упустил.

dropzone.deps.js:

({
    mustDeps: [ 'i-bem-dom' ],
    shouldDeps: [
        { block: 'loader', mods : { type : 'js' } },
        { elem: 'config' },
        { mods: { theme: ['islands', 'default'], size: ['s', 'm', 'l', 'xl'], width: ['available'] } },
    ]
})

dropzone.bemhtml.js:

block('dropzone')(
    tag()('form'),
    attrs()({ action: '/post' }),
    addJs()(true)
);

dropzone__config.js:

/**
 * @module dropzone__config
 * @description Configuration for Dropzone
 */

modules.define('dropzone__config', function(provide) {

    provide(/** @exports */{

        /**
         * URL for loading Dropzone (http://www.dropzonejs.com)
         * @type {String}
         */
        url: 'https://cdnjs.cloudflare.com/ajax/libs/dropzone/5.1.1/dropzone.js',
    });

});

dropzone.js:

/**
 * @module dropzone
 */
modules.define('dropzone', ['i-bem-dom', 'loader_type_js', 'dropzone__config'],

    function(provide, bemDom, loader, cfg)
    {
        const Dropdown = bemDom.declBlock(this.name, {

            /**
            * On modifier set
            * callback functions
            */
            onSetMod: {

                js: {

                    /**
                    * @param modName
                    * @param modVal
                    * @param currentModVal
                    */
                    inited() {

                        console.log('Dropzone - inited()');

                    }
                }
            },

        }, {
            lazyInit: false,

            onInit() {

                console.log('Dropzone - onInit()');
                return this.__base.apply(this, arguments);
            },

        });

        function doProvide(flag = 'defined')
        {
            console.log('Dropzone - doProvide(' + flag + ')');
            provide(Dropzone);
        }

        typeof Dropzone !== 'undefined' ? doProvide('undefined') : loader(cfg.url, doProvide);

    }
);

console.log:

Dropzone - doProvide(defined)
Dropzone - onInit()
Dropzone - inited()