надо инициализировать в блоке block-editor Sir Trevor со всеми либами зависимостями по документации надо подключить underscore.js eventable.js sir-trevor.js и на станице прописать
<form> <textarea class="js-st-instance"></textarea> </form>
<script> new SirTrevor.Editor({ el: $('.js-st-instance') }); </script>
я сделал блок jslib с элементами jslib__underscore
, jslib__eventable
, jslib__sir-trevor
в блоке где это надо использовать прописал
modules.define('block-editor', [ 'jquery', 'jslib__underscore', 'jslib__eventable', 'jslib__sir-trevor' ], function(provide, $, _, Eventable, SirTrevor) {
new SirTrevor.Editor();
console.log(Eventable);
console.log(_);
console.log(SirTrevor);
console.log(123);
provide();
});
пытаюсь вывести в консоль, ничего нет, поправьте что делаю не так
а ваш модуль кто-нибудь реквайрит? если провайдить ничего не собираешься, замени на:
Если нужен именно модуль, то надо чтобы он был указан где-то в зависимостях.
Еще хочу заметить, что
sir-trevor
, кажется, хочетunderscore
для себя, и его обязательно подключать приdefine
самогоsir-trevor
, но его, как иeventable
, не обязательно подключать здесь. ;-)где и что прописать? сейчас
для начала, лучше исходные файлы загружать в проект с помощью bower и инклюдить борщиком из его каталога. нет необходимости руками класть файлы в структуру блоков
А как необходимые модули(Eventable, underscore) добавить, от которых зависит работа sir trevor?
и как потом привязать к этому
Никак. Все необходимые Тревору зависимости присутствуют в собранном файле, который мы инклюдим борщиком:
Кстати заголовок топика абсолютно не связан с вопросом. Фреймворк
i-bem.js
здесь абсолютно непричём. Всё что мы обсудили касается только модульной системыymodules
и способа загрузки в неё стороннего модуля с помощью борщика без модификации исходников.Если вам не нужна модульная система или просто не хочется писать обёртки над скриптами, то вы можете использовать сторонние скрипты по старинке (огребая проблемы совместимости по пути по мере усложнения проекта), не используя
ymodules
вовсе: