Цитата:
Цитата:
Цитата:
я не пытаюсь создать кухонный комбайн. мне хватает того функционала который есть сейчас. делать фичи которыми не буду пользоваться плохая практика разработки инструментов. |
В чём проблема переименовать один из них, раз уж сразу мы не позаботились использовать вендорные префиксы?
Есть разные способы. Например, у меня анализируются 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, время: 19:16. |