
Vladimir
12.08.2016
14:32:01

Вадим
12.08.2016
14:32:09
не, галп вроде не устарел, но вроде понемногу начинает сдавать позиции

Vladimir
12.08.2016
14:32:10
урезанный

Вадим
12.08.2016
14:32:23
ну поэтому и написал, что похож

Google

Vladimir
12.08.2016
14:32:28
вебпак чуть больше чем бандлер
это вебсервер проксирующий запросы к бандлерам

Вадим
12.08.2016
14:32:44
это правда
хорошее описание
надо будет запомнить

Каїн
12.08.2016
14:33:11
мне в вебпаке нра ensure, on demand с коробки
вот как раз на новом прожекте решил испробывать

Vladimir
12.08.2016
14:33:29
сам бандлер они предлагают rollup + buble

Pavel
12.08.2016
14:33:51
Felt я так понимаю совсем юн, и пилят его японцы вроде

Vladimir
12.08.2016
14:34:13
ensure (webpack) ≠ on demand (felt)
webpack билдит всё и загружает только когда нужно
felt билдит только когда запросишь

Каїн
12.08.2016
14:35:16
што

Google

Vladimir
12.08.2016
14:35:18
а когда ты запрашиваешь уже твоя ответственность


Oleg
12.08.2016
15:42:14
Есть вопрос, может он и ламерский, но я сходу в гугле не нашёл решения.
Есть 2 модуля, живут отдельной себе жизнью. Один выполняет одно, второй второе. Но первый модуль в определённый момент при генерации страницы должен вызвать метод из второго модуля. А второй модуль в это время не успел проинициализироваться, в результате чего выпадает ошибка.
Вариант "запускать второй модуль раньше первого" неспортивный.
Есть конечно вариант ставить в первом модуле какую-то переменную в true, во втором модуле при инициализации смотреть эту переменную, и если она true, то запускать что-то на исполнение, но, как мне кажется, это дикий костыль.
Гугл подсказал смотреть инициализацию второго модуля через setInterval, но это ещё хуже.
Есть что в JS для решения такой проблемы? То есть первый модуль вызывает второй модуль, но вызов ждёт инициализации второго модуля, и только потом происходит исполнение.
Я б делал аля Mediator/Pubsub с ожиданием слушателя (ящиком сообщений).


Каїн
12.08.2016
16:38:00
медиатор проще, к нему можно сразу подключить и модель
а с пабсабом прийдется еще один саб писать и пабы для места где хранятся данные которые шарятся

Sasha
12.08.2016
17:08:15
А тут можно по ангуляру спрашивать? А то в конфе полтора человека
Скорее даже общий вопрос, почему-то конструктор не работает.
.factory('Pyson', function(){
var Pyson = function(obj, context){
this.obj = obj;
this.context = context;
}
Pyson.prototype.resolve = function(){
console.log(this.obj);
}}}
}
Когда проверяю :
varpyson = new Pyson('foo', 'baaar');
pyson.resolve()получаю что this - undefined.

Каїн
12.08.2016
17:10:39
Опять ты
)))
Привет

Алексей
12.08.2016
17:11:15
Sasha спроси в группе @angular_js

Каїн
12.08.2016
17:11:32
Потому что ты не знаешь что такое фабрика
Ы

Sasha
12.08.2016
17:12:14
Я знаю лишь такой паттерн. И я хотел свой обычный подход из джавы применить. Даже вот статейку нашел.
http://blog.revolunet.com/blog/2014/02/14/angularjs-services-inheritance/

Каїн
12.08.2016
17:12:17
Измени фабрику на сервис
И заработает
factory(name, function(){return {}})
service(name,function ClassName(){this})
Фабрика ожидает на вход объект
А сервис ожидает класс для того чтобы создать фабрику
При том если посмотреть - результат тот же

Google

Каїн
12.08.2016
17:20:26
Ы

Sasha
12.08.2016
17:20:42
но в том примере, он именно стринга в конструктор подается

Каїн
12.08.2016
17:20:49
Что сервис что фабрика - на выходе сингл тон
Ну да
Но ты не вернул ничего
Какой у тебя результат функции которую ты записал в фабрику
Я вижу какой
Консоль лог
Ыыы
return new Pysin()
И в фабрику запишется ссылка на экземпляр который ты создал
Но теперь - если у тебя возвращается объект

Каїн
12.08.2016
17:23:50
Зачем создавать класс в памяти если можно вернуть просто объект а не инстанс класса

Alexander
12.08.2016
17:24:12
это обман, чтобы набрать классы

Каїн
12.08.2016
17:25:14
function () { var factory={}; factory.method = function(){}; return factory;}
Проще и сингл тон
Разницы никакой а уже сэкономил символы

Sasha
12.08.2016
17:26:47
Т.е. значит стандартую фэктори ?

Каїн
12.08.2016
17:27:03
Забудь это слово
Тоесть объект со статическими методами

Google

Каїн
12.08.2016
17:27:48
Фабрика это паттерн который плодит инстансы классов
Научат тебя фреймворк глупых не правильных определений
Потом не сможешь найти в гугл что ты хочешь

Sasha
12.08.2016
17:29:26
А получится вернуть значение приватного метода?
У меня ситуация такая, есть некий объект, который подается на вход. В зависимости от значения одного поля-проперти - исполняется приватный метод и класс возвращает значение.
Это как первый вариант. Т.е. у класса фактически один публичный метод, который вызывает приватный и возвращает его значение

Каїн
12.08.2016
17:29:43
Господи

Sasha
12.08.2016
17:30:42
А в чем проблема?

Каїн
12.08.2016
17:31:13
function () { var private = function(); factory.getPrivate(){ return private()}; return factory;}

Sasha
12.08.2016
17:31:14
Второй вариант - каждую приватную реализацию засунуть в класс и сделать наследниками абстрактного

Каїн
12.08.2016
17:31:41
Мне кажется ты что то усложняешь

Admin
ERROR: S client not available

Sasha
12.08.2016
17:33:36
Не совсем. Там ситуация такая, что есть допустим 10 вариантов исполнения-реализации. В зависимости от входных данных, выбирается метод или класс наследник или.... тысячи вариантов.
Именно как в рамках js поступить, я не знаю даже.

Каїн
12.08.2016
17:35:15
Это паттерн стратегия

Vitaliy
12.08.2016
17:35:21
Это разве не стратегия?

Sasha
12.08.2016
17:35:26
именно

Каїн
12.08.2016
17:35:59
Которая делегирует выполнение медиатору
Фабрике ангуляра
Имхо, в ангуляра только контроллеры должны быть классами

Sasha
12.08.2016
17:39:38
Тогда такой вопрос, можно ли вместо свитч-кейса как-то реализовать исоплнение метода из словаря, типа
d = {foo: some_method, bar: another_method}
d['foo'](*args)

Каїн
12.08.2016
17:41:30
Чесн
Я бухой

Google

Каїн
12.08.2016
17:42:34
Вот зачем ты спрашиваешь
Ты ощущаешь что что то не так

Sasha
12.08.2016
17:43:44
Ну я гуглил-гуглил. Тяжко просто дается понимание js'a
Мысли подходами из плюсов и питона, а тут явно все иначе

Каїн
12.08.2016
17:45:08
Можно делегированием через метод exec

Sasha
12.08.2016
17:45:15
*мыслю

Каїн
12.08.2016
17:45:32
Первый параметр название метода а второй список параметров

Sasha
12.08.2016
17:45:51
Понял, это наверное такой аналог eval)

Каїн
12.08.2016
17:46:15
А в месте где методы exec function this[name](Argos)

Sasha
12.08.2016
17:46:26
спасибо за ответ

Каїн
12.08.2016
17:46:32
Скорей аналог функционализмов

Sasha
12.08.2016
17:52:08
Тогда не буду пытаться городить класс в factory у ангуляра, а сделаю стандартно.
В публичном методе напишу какой-нибудь свитч-кейс и все....

Каїн
12.08.2016
17:53:12
Чеснок , чем проще тем лучше

Котяй Негодяй
12.08.2016
18:09:40
Как заставить Webpack асинхронно тянуть модуль с внешнего CDN?

Каїн
12.08.2016
18:26:20
Ммммммм
Сомневаюсь что возможно
Выходит на каждой сборке будет тянуть
Но и звучит глупо
Это сборщик модулей с папок где они лежат а не загрузчик с интернета
Легче прописать цдн в хтмл инициальном
Но если действительно нужно, можно джобу сделать чтобы сначала нпм качал модуль а потом вп собирал проект и с тех ним так же
Но это уже на грант

Котяй Негодяй
12.08.2016
18:29:43
Не. Я хочу, чтобы
require(['jQuery'], $ => {
...
});
Работал как AMD.