Category Archives: javascript
Выбиралка клиентских шаблонизаторов под разные нужды
http://garann.github.io/template-chooser/
Node.js-сервер для отдачи Angular.js-шаблонов и проксирования ajax-вызовов
Вот оно — https://gist.github.com/bullgare/f3e225abc9e8a441b0db. Основная проблема — работа с блитцовыми конструкциями в шаблоне индексной страницы. Ссылки по теме: http://nodejs.ru/443 http://stackoverflow.com/questions/10058814/get-data-from-fs-readfile http://stackoverflow.com/questions/9540978/nodejs-how-to-read-and-output-jpg-image http://nodejs.org/api/fs.html#fs_fs_readfile_filename_options_callback
AngularJS: почему не надо назначать обработчики на $rootScope внутри контроллеров
Вот здесь — https://blog.bullgare.com/2013/09/angularjs-%D0%BE%D1%82%D0%B2%D1%8F%D0%B7%D1%8B%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%BE%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%87%D0%B8%D0%BA%D0%BE%D0%B2-%D0%B8-%D1%80%D0%B0%D1%81%D1%81%D1%83%D0%B6%D0%B4/ подробно описано, как сложно всё выходит, если внутри контроллера повесить обработчик на события в $rootScope. Вкратце — потому, что при смене маршрута обработчик события никуда не девается, и его приходится руками удалять. Простое решение проблемы — вешать обработчики не на $rootScope, а на локальный $scope, который потом удалится вместе со всеми …
AngularJS: отвязывание обработчиков и рассуждение об опасностях использования вложенных контроллеров
В нашем приложении (чего уж тут скрывать — http://m.mamba.ru, тач-версия) всё построено на встроенных в angular маршрутах. При этом, как известно, шаблон страницы отрисовывается внутри тега ng-view. Появилось несколько страниц, на которых внутри контента (это важно) нужно показывать баннер.
Использование констант в AngularJS
1 2 3 4 5 |
angular.module('myModule', []) .constant('CONST', 'const val') .factory('myService', ['CONST', function myService(CONST) { var myVar = CONST; }]); |
http://stackoverflow.com/questions/17383611/angularjs-getting-module-constants-from-a-controller Интересная статья о том, чем отличаются и для чего нужны разные сущности в AngularJS: http://habrahabr.ru/post/190342/
Проблемы при минификации AngularJS?
Есть такая библиотека для облегчения минификации angularJS — ngmin (https://github.com/btford/ngmin). Я пока не очень рад ее использовать, пока пользуюсь
1 |
(factory|directive|controller|factory)[^\[]*?, func |
Bacon.js — FRP на javascript
FRP — Functional Reactive Programming (http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming/1030631#1030631, хотя читается тяжело). Пришло из Haskell. В чём суть. Функциональное реактивное программирование так же соотносится с обычным слушанием событий, как функциональное программирование с циклами и условными операторами. Т.е. представляет собой декларативный способ работы с событиями. Есть два типа сущностей. Поток (EventStream) Подписавшись на поток, можно слушать все происходящие события …
Логирование клентских ошибок через сервис
https://www.bugsense.com — дают скрипт (http://www.bugsense.com/releases/html5/1.1/download) и потом можно логировать разные клиентские ошибки (более подробное описание от авторов). Единственный минус — очень платные. Мобильные друзья используют другой сервис — http://try.crashlytics.com/, но для web решения пока нет. Вообще-то я давно писал про то, как можно логировать ошибки (https://blog.bullgare.com/2012/03/%D0%BB%D0%BE%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-js-%D0%BE%D1%88%D0%B8%D0%B1%D0%BE%D0%BA-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80%D0%B5/), но иногда неохота городить огород на серверной стороне, а …
AngularJS — обновить текущую страницу
1 |
$route.reload(); |
http://docs.angularjs.org/api/ngRoute.$route
Методы тестирования мобильных приложений
http://webuild.envato.com/blog/techniques-for-mobile-and-responsive-cross-browser-testing/