Ответы пользователя по тегу Grunt.js
  • Сборка проекта, AMD, LMD, использование модулей проекта

    azproduction
    @azproduction
    Использовать сборку и автоматизацию — однозначно стоит.

    require.js имеет свой собственный сборщик модулй и оптимизатор — r.js

    Достаточно много с ним работал из опыта могу сказать, что он хорош, но мне не подошел — муторно поддерживать проект на нем:
    — это AMD, а значит нужно писать обертку define, колдовать если заходится использовать модуль в node.js… (можно не писать обертку, но придется опять колдовать)
    — require() — God Object и возвращает всевозможные тип ресурсов всевозможными путями. Долго вникать что к чему если код чужой
    — плагинная система у него странная для восприятия «с нуля»
    — результат сборки сложно окинуть взглядом «все как-то само»

    В общем, я устал от AMD и RequireJS, смотрел в сторону всевозможных подобных проектов тк мне не хотелось писать еще один велосипед. В итоге, мне пришлось написать инструмент своей мечты — LMD.

    Исходил я из слудующих соображений:

    * Сегодня все собирается. Даже dev
    — зачем писать обертку и вобще писать что-то лишнее если за тебя это может сделать робот?!
    * Читаемость кода очень важна
    — Нужно исключить неявные конструкции
    — Я как архитектор моего проекта хочу знать, что в нем будет «валяться»
    * Сборок бывает много
    — dev, production, dev-ru, test-en_US
    * Нужен контроль результата сборки
    — Проверка целостности
    — Подробная информация о сборке
    — Аналитика

    Сегодня LMD умеет все то, что умеют другие сборщики, и имеет ряд преимуществ: CommonJS/Modules, честная и тотальная изоляция модулей, шикарная аналитика сборок как статическая так и динамическая, CLI с автокомплитом, GUI. LMD особенно хорош если у вас много сборок — много языков, много окружений.

    Если вы используете grunt, то у LMD есть для него плагин — grunt-lmd.

    Буквально на длях я написал целую кучу примеров к всевозможным плагинам и фичам LMD. Посмотрите их. Если будут вопросы задавайте тут или в ЛС.
    Ответ написан
    3 комментария