При разработке одного сайта мне понадобился загрузчик скриптов, так как хотелось что бы загрузка вызывалась из js кода. Из готовых решений нашел requirejs и yepnope. Requirejs — модульный, что к моим требованиям не подходило. Yepnope — асинхронный, это означает, что код в каждом файле мне пришлось бы обертывать в callback функции. Ничего не оставалось, кроме как написать что-нибудь самому. И вот что у меня получилось: wakeloader — безмодульный синхронный загрузчик скриптов для JavaScript. В этой статье я расскажу про него.
Читать полностью »
Рубрика «requirejs» - 3
Еще один загрузчик скриптов для JavaScript
2013-06-05 в 19:25, admin, рубрики: javascript, loader, requirejs, метки: javascript, loader, requirejsПишем сложное приложение на knockoutjs
2012-10-08 в 10:40, admin, рубрики: javascript, knockout, Knockout.js, knockoutjs, requirejs, Веб-разработка, метки: javascript, knockout, Knockout.js, knockoutjs, requirejsЕсть такая библиотека knockout.js. Она отличается от прочих хорошим туториалом для начинающих и кучей понятных рабочих примеров. Еще там стройная MVVC модель, декларативные связи и так далее.
Короче, если вы, как и я, поиграли с этой библиотекой, понаписали красивых формочек, и вам это понравилось, то все это дело захотелось применить на реальном проекте. И тут проблема — в реальном проекте формочек больше чем одна. А раз такие инструменты, то хочется single web page application и никак иначе. А делать один контроллер и все темплейты заверстывать на одну страницу тоже тупо и тормозно.
Под катом приведу основу своего сложного приложения. Само оно совсем не сложное, но модульное и допускает расширения, а темплейты и модели подгружаются динамически. Идея была подсмотрена в этой презентации — http://www.knockmeout.net/2012/08/thatconference-2012-session.html, код презентации выложен на github — https://github.com/rniemeyer/SamplePresentation — на базе этого кода будем писать свой.Читать полностью »
Модульный подход к разработке web-приложений с использованием JavaScript: AMD и RequireJS
2012-09-29 в 21:03, admin, рубрики: Asynchronous Module Definition, best practices, javascript, requirejs, Веб-разработка, метки: Asynchronous Module Definition, best practices, javascript, requirejsПри разработке приложений с модульной структурой на JavaScript возникает две проблемы:
- описание и удовлетворение зависимостей различных частей приложения, необходимость организации подключения зависимостей на серверной стороне;
- экспорт переменных в глобальную область видимости и их коллизия.
Обе эти задачи решаются при использовании подхода Asynchronous Module Definition. Он сводится к описанию модулей функцией define и подключению их с помощью require. На данный момент есть несколько инструментов, реализующих AMD. Я начал своё знакомство с ними с RequireJS и был удивлён, на сколько удобно и просто можно описывать зависимости модулей. Расскажу, как это работает, на простом примере.Читать полностью »
Yeoman.io
2012-06-30 в 8:48, admin, рубрики: amd, grunt, html, javascript, Paul Irish, requirejs, yeoman, Веб-разработка, метки: amd, grunt, javascript, Paul Irish, requirejs, yeoman На конференции Google I/O 2012 во второй части своего выступления Paul Irish представил проект yeoman.io. Главной целью которого является собрать для разработчика лучшие библиотеки и фреймворки в одном месте и создать идеальную среду для разработки за кратчайшее время.
Читать полностью »
Экосистемный подход к сборке веб-проекта с TeaCSS
2012-06-29 в 16:50, admin, рубрики: css, dsl, html, javascript, less, require, requirejs, sass, Веб-разработка, велосипед на ракетном топливе, метки: css, dsl, html, javascript, less, parser, require, requirejs, sass, Веб-разработка, велосипед на ракетном топливеВ этой статье я расскажу как можно организовать процесс сборки фронтэнда «от и до».
Советую начать со вводной статьи, если кто не читал.
Там я рассказывал про TeaCSS как про надмножество CSS, и это была неправда. Точнее – полуправда. И таким он был во времена своего создания (откуда и название).
Сейчас – это декларативный метаязык для генерации контента, во многом черпающий вдохновение из QML, Lisp, Clojure, Nemerle.Читать полностью »