Цитата:
Цитата:
Цитата:
я не пытаюсь создать кухонный комбайн. мне хватает того функционала который есть сейчас. делать фичи которыми не буду пользоваться плохая практика разработки инструментов. |
В чём проблема переименовать один из них, раз уж сразу мы не позаботились использовать вендорные префиксы?
Есть разные способы. Например, у меня анализируются xslt шаблоны и подключаются только те модули, что реально используются. Вообще я вроде рассказывал. Но я так понимаю критика и свежие идеи тебя не интересуют. Ок. Знаешь, попробовав лучшее, на такие велосипеды уже не смотришь) |
Цитата:
Цитата:
Цитата:
|
А без префиксов получаем кашу. В разных местах под одним именем скрываются совершенно разные сущности.
Отличается тем, что я делаю это один раз - по факту использования. А ты в двух местах: там где подключаешь и там где используешь. Я был бы счастлив, если бы мне не приходилось писать самому столь базовые вещи. |
Цитата:
структура описана только в json файле. в одном модуле может быть множество js файлов, но зависимости опишу только один рас в одном месте. |
Когда ты пишешь в файле:
var button = new My.Component('button') То неявно объявляешь зависимость от модуля My.Component Этот код зависит от этого модуля и если он не будет предварительно подключен, то код выдаст ошибку. И все такие зависимости ты дублируешь в json-описании. |
релиз v0.2.10
Реализовал еще один вариант сборки. Идея такая - собирать проект не в один js(css) файл, а в два. Первый файл это ядро и оно общее на всех страницах. Второй это код только для определенной странице. Выглядит примерно это так: 1) собираем модуль-ядра http://scmod.vflash.ru/sandbox?src=h...s/replace.json 2) собираем модуль-страницы исключив из него модули-ядра . (параметр &core=[url]) http://scmod.vflash.ru/sandbox?src=h...ore/zcore.json На страницу подключаем оба результата |
Поздравляю. Ещё немного и вы переизобретёте недо-YUI :)
А чем вам require.js не угодил ? |
у YUI другая архитектура.
Цитата:
вот к пример сайт http://www.sochi2014.com/ , эталон . куча js и css файлов подключены сами по себе, без каких либо зависимостей. Переписывать это дело на AMD гиблое дело, проще всех нах.. послать и уволиться. с scmod все просто. собираем js и css в списочек, и первый шаг к грамотной организации файлов сделан. { "nowrap": true, "script": [ "/Content/js/lib/head.min.js" , "/Content/js/lib/modernizr.js" , "/Content/js/lib/jquery.js" , "/Content/js/lib/json.js" , "/Content/js/lib/jquery.jscrollpane.js" , "/Content/js/lib/jquery.fader.js" , "/Content/js/util.js" , "/Content/js/articul/tools.js" , "/Content/js/storejs/store_json2.min.js" , "/Content/js/adriver/adriver.core.2.js" , "/Content/js/articul/announce.js?t=635047491833716637" , "/bitrix/components2/Articul.Sochi.Components/QuoteBlockHomepageComponent/templates/.default/script.js?t=635029161642020053" , "/bitrix/components2/Articul.Sochi.Objects/MapHomepageComponent/templates/.default/script.js?t=634964358382536565" , "/Content/js/articul/event-scroller.js?t=635095805248728492" , "/Content/js/lib/jquery.mousewheel.js?t=635025631538839519" , "/bitrix/components2/Articul.Sochi.Twitter/TweetListComponent/templates/.default/script.js?t=635013476703264764" , "/Content/js/articul/blogs.js?t=635023237566266204" , "/Content/js/articul/polls.js?t=635029161638739013" , "/bitrix/components2/Articul.Sochi.Components/InterestingBlockHomepageComponent/templates/.default/script.js?t=635029161641893108" , "/Content/js/articul/partners-banners.js?t=635029161638729248" ], "styles": [ "/Content/css/main.css" ,"/Content/css/articul/pit.css" ,"/Content/css/mm.css" ,"/Content/css/index.css" ] } |
Почему у YUI другая архитектура ?
Я объявляю модуль, он находится в своей песочнице. Могу экспортировать из него нужные мне объекты в глобальное окружение. Указываю от каких модулей зависит текущий и модули будут сами подгружены. Могу указать, что у модуля есть css и тогда css будет подгружена. Могу указать что модуль мультиязычный и язык сам будет определён и подгружен, если существует такой языковой файл. Плюс я могу получить все модули одним файлом в одном запросе. |
Часовой пояс GMT +3, время: 01:41. |