Это на самом деле забавно, я как раз собирался написать среднюю статью о том, как лучше всего (на мой взгляд) структурировать MarionetteJS Skeleton, когда некоторое время спустя я обнаружил невероятный инструмент, который решил не только эту проблему, но и массу других. .

Прежде всего, я понимаю, что Backbone не так известен, как раньше, потому что есть другие варианты, такие как React или Vue, все же, если быть откровенным, я люблю Backbone больше всего из всех существующих фреймворков, он может иметь свои недостатки и может не так хорошо виден, как другие, но мне понравилось, как работает Backbone с первого дня, и я по-прежнему предпочитаю его. Верно то, что Backbone очень легковесен, и это означает, что у него нет много готовых вещей, но именно здесь сияет MarionetteJS, поскольку он взял величие Backbone и сделал его лучше :D

Но покончим с этим :P Как я уже говорил, я собирался сделать статью среднего размера о том, как структурировать скелет MarionetteJS, когда я обнаружил этот замечательный инструмент под названием Brunch. Brunch — это, по сути, Task Runner, как и другие, которые вы, возможно, слышали раньше, такие как Gulp или Grunt, но, на мой взгляд, они намного лучше. Помните те гигантские конфигурационные файлы, которые вам приходилось создавать, чтобы gulp&grunt мог выполнять свои задачи? забудьте об этом :D Brunch упрощает все эти процессы по умолчанию, такие как комплектация, подача, просмотр, сокращение, уменьшение и т. д. всего за пару строк. Вот пример кода с их сайта:

У Brunch может быть такой короткий файл конфигурации, потому что он предполагает определенные вещи в вашем проекте, например, css находится в папке с именем styles или код вашего проекта находится в папке с именем app (обратите внимание, вы можете изменить это, если хотите). Большинство задач (объединение, минимизация и т. д.) выполняются с помощью плагинов, и невероятная вещь заключается в том, что вам не нужно создавать их экземпляры где-либо в файле конфигурации бранча, если плагины бранча сохранены в package.json, Brunch. предположим, что вы хотите их использовать, и загрузит их автоматически, ТАК КРУТО :D. Единственный раз, когда вам нужно поместить эти плагины в файл конфигурации, это если вы хотите указать для них пользовательские правила, и в большинстве случаев вы этого не сделаете.

Еще одна мысль, которую я люблю в Бранче (и действительно то, что заставило меня узнать Бранч в первую очередь), это Скелеты, ДА! Brunch поставляется с возможностью загрузки скелетов, которые уже готовы к подаче, избавившись от утомительной работы по созданию шаблона вашего проекта, вы можете просто загрузить проект скелета, изменить его по своему усмотрению, и все готово. идти. Уже существует множество скелетов с множеством различных зависимостей, и если по какой-то причине нет скелета, который соответствует вашим потребностям, вы можете просто создать его и загрузить в их список.

Что касается MarionetteJS, то уже есть действительно хороший скелет, который я очень рекомендую использовать, созданный #denar90 на github. (Спасибо тебе, чувак ;D)

Поскольку в моих будущих статьях MarionetteJS будет использоваться скелет #denar90 на основе Brunch +, я хотел сообщить вам о них обоих.

Но даже при том, что мне очень нравится Brunch, я очень советую вам зайти на их сайт и сделать свои собственные выводы, так как это также поможет вам лучше понять экосистему Brunch и то, как она работает. В моей следующей статье я создам/объясню простой проект MarionetteJS, используя скелет #denar90, поэтому было бы здорово, если бы вы уже имели о них некоторое представление.

Надеюсь, вам понравилась статья и до следующего раза ;)