bem-site / bem-forum-content-ru

Content BEM forum for Russian speak users
MIT License
56 stars 6 forks source link

Подключение плагина JQ+JS в БЭМ ( хочу посмотреть пример?). #747

Open rom111419 opened 8 years ago

rom111419 commented 8 years ago

Есть простой плагин прокрутки на Jquerry. )) Сейчас вот так в конце index.html:

<script src="js/plugins-scroll.js"></script>
<script>
    $(document).ready(function() {
        try {
            $.browserSelector();
            if($("html").hasClass("chrome")) {
                $.smoothScroll();
            }
         } catch(err) {
        };
    });
</script>

Как Это подключается через БЭМ? P/S: Спасибо!

qfox commented 8 years ago

В ymodules вам нужно ЛИБО подключать глобальный jquery, либо, например, сделать так:

modules.define('jquery', function(provide, $) {
    $.vorui = 'ubivai';
    /* borschik:include:js/plugins-scroll.js */
    provide($);
});
rom111419 commented 8 years ago

...$.vorui ? Этот скрол нельзя трогать?

rom111419 commented 8 years ago
/* global modules:false */
    modules.define('jquery__smothScroll', ['jquery'], function(provide, $) {
    window.jQuery = $;
    /* borschik:include:../../libs/smothScroll/js/plugins-scroll.js */
    provide($);
});
        {
           elem:'scrollbar',
            mods:{theme:'theme01'},
            shouldDeps: [{ block: 'jquery', elem: 'smothScroll' }],
        }
modules.require(['jquery__smothScroll'], function($) {
   $(document).ready(function() {
        //Chrome Smooth Scroll
        try {
            $.browserSelector();
            if($("html").hasClass("chrome")) {
                $.smoothScroll();
            }
        } catch(err) {
        };
   });
});

Ошибок консоль не дает, но эффекта прокрутки тоже нет, хотя сам плагин рабочий.

Что я делаю не так?

Спасибо!

rom111419 commented 8 years ago

Может borschik не работает?

rom111419 commented 8 years ago

Подскажите кому не сложно. Спасибо!

tadatuta commented 8 years ago

Проверить, работает ли borschik легко: достаточно проверить, что в сгенерированном JS-бандле (desktop.bundles/index/index.js?) комментарий /* borschik:include:../../libs/smothScroll/js/plugins-scroll.js */ заменился на содержимое файла плагина.

По прочитанному:

  1. Депсы нужно писать в отдельных block-name.deps.js файлах, а не в bemjson.js
  2. В page__scrollbar_theme_theme01.js в секции catch на время разработки стоит явно выводить ошибку в консоль, чтобы видеть, что происходит.
rom111419 commented 8 years ago

Спасибо! Скрипт заработал, после того как вставил вместо /* borschik:include:../../libs/smothScroll/js/plugins-scroll.js */ код скрипта.

Видимо borshik не работает. Может кто уже задавал такой вопрос. Буду чинить.

tadatuta commented 8 years ago

если репозиторий проекта в общем доступе, могу попробовать помочь с настройкой borschik

rom111419 commented 8 years ago

Ок. Спасибо.Я если не справлюсь, тогда закину проект в общий доступ.

rom111419 commented 8 years ago

@tadatuta Так и не получилось найти ошибку. Если есть возможность посмотри проект. Я не заливал только node_modules/ Если понадобятся, залью.

https://github.com/rom111419/ritm.git

rom111419 commented 8 years ago

Закачал.

rom111419 commented 8 years ago

@tadatuta поможешь?