azproduction / lmd

LMD - JavaScript Module-Assembler for building better web applications :warning: Project is no longer supported :warning:
http://azproduction.ru/lmd/
MIT License
449 stars 27 forks source link

Project config #146

Closed entcor closed 10 years ago

entcor commented 10 years ago

Добрый день !

В качестве предложения: добавить в конфигурацию LMD возможность сборки конечного проекта вместе со сторонними файлами используя те же списки файлов, glob. Тогда в соседнем каталоге появится именно то, что надо (файлы) без всяких излишеств.

У уважением!

azproduction commented 10 years ago

Привет.

Прочитал несколько раз, но так и не понял как это должно выглядеть в коде. Можнт быть пример?

entcor commented 10 years ago

в результате работы LMD мы получаем js файл, при этом он может использовать картинки, внешние js, css файлы. Вот если в результате всего действа мы выберем эти все файлы, необходимые для работы и не оставим ничего лишнего.

\ root
   index.html
    \ lib
        \ lib1
            file1.js (включен в сборку LMD)
            file2.js (включен в сборку как shortcut)
            file3.css (включен в сборку как shortcut)
         \ lib2
            file4.js (включен в сборку LMD)
    \ out 
         \ production.js (результат сборки LMD)

в результате надо убрать все лишнее:

\ root
   index.html
    \ lib
        \ lib1
            file2.js (включен в сборку как shortcut)
            file3.css (включен в сборку как shortcut)
    \ out 
         \ production.js (результат сборки LMD)

Ну как то так ...

azproduction commented 10 years ago

Эта задача лежит вне компетенции LMD как сборочного инструмента. Решить ее можно используя LMD CLI.

lmd-info умеет выводить состояние будущей сборки. Мы можем получить список модулей, которые входят в сборку и не являются ссылками.

$ cd lmd/examples/demos/backbone_lmd
$ lmd info dev | grep '<-' | grep -v '@' | awk '{print $4}'
lmd/examples/demos/backbone_lmd/assets/lodash.min.js
lmd/examples/demos/backbone_lmd/js/lib/jquery/jquery.min.js
lmd/examples/demos/backbone_lmd/js/lib/backbone/backbone.js
lmd/examples/demos/backbone_lmd/js/lib/backbone/localstorage.js
lmd/examples/demos/backbone_lmd/js/main.js
lmd/examples/demos/backbone_lmd/js/common.js
lmd/examples/demos/backbone_lmd/js/collections/todos.js
lmd/examples/demos/backbone_lmd/js/models/todo.js
lmd/examples/demos/backbone_lmd/js/routers/workspace.js
lmd/examples/demos/backbone_lmd/js/templates/stats.html
lmd/examples/demos/backbone_lmd/js/templates/todos.html
lmd/examples/demos/backbone_lmd/js/views/app.js
lmd/examples/demos/backbone_lmd/js/views/todos.js

Используя этот список мы можем очистить сборку от мусора.

entcor commented 10 years ago

Спасибо большое - попробую ... хотя есть вопросы по сбору модулей от 3-х лиц... они могу подключать картинки и т.п. (их нет в конфиге LMD) подумаю - спасибо !