
lamo2k
21.07.2016
07:31:03
кто как перезапускает сервер в изоморфном приложение при сборке webpack в watch режиме?

Сергей
21.07.2016
07:40:02
https://github.com/ufocoder/redux-universal-boilerplate/blob/master/webpack/server/watch.js#L15
https://github.com/ufocoder/redux-universal-boilerplate/blob/master/package.json#L31
минус в подходе: приходится чистить webpack update файлы для серверного бандла

Google

lamo2k
21.07.2016
08:16:26
Дока будет немного позже

Сергей
21.07.2016
08:16:46
в чем отличия?

lamo2k
21.07.2016
08:18:05
Нет прослойки демона
Плагин принимает команду и когда webpack вызывает after-emit он перезапускает комманду

Сергей
21.07.2016
08:19:21
почитаю твое решение на досуге - может позаимствую ;-)

lamo2k
21.07.2016
08:19:36
А то получается что вотчер webpacka смотрит за изменениями и генерит файл, а за ним уже сторонний демон смотрит который сервер ребутает

Сергей
21.07.2016
08:19:57
у меня такой подход кстати на винде не очень работает
но я благо на мак ос

lamo2k
21.07.2016
08:20:40
Ну плагин вроде и на винде завелся и на линуксе так как там нативный спавн

Vladimir
21.07.2016
08:34:36

Ave
21.07.2016
09:18:42
А вы мапаете response от сервера на свои структуры?
Что делаете когда сервер присылает first_name, а вы хотите firstName? (есть CREATE AND UPDATE, а не просто вывести)

Сергей
21.07.2016
09:21:30
я не маплю и юзаю Destructuring assignment, типа const {firstName, secondName} = response.data;

Google

Ave
21.07.2016
09:22:42
и как мне это поможет поправить first_name?

Алексей
21.07.2016
09:22:49
тогда уж так

Vlad
21.07.2016
09:23:13

Сергей
21.07.2016
09:23:16
дык, я же написал, что я не маплю, а использую серверные модели

Алексей
21.07.2016
09:23:24
{
first_name: firstName,
prop1: prop_1
} = res.data

Ave
21.07.2016
09:23:58
это получается 2 раза писать нужна, когда получаю и перед тем как отправляю, это конечно же не подходит)

Алексей
21.07.2016
09:30:40
в js нет приватных ж
а так можешь поиграться с декораторами попробовать
просто как программа еще поймет, что тебе нужно именно d а не depth, все равно придется две функции для перевода писать

Сергей
21.07.2016
09:33:14
юзай descruct короче :)

Алексей
21.07.2016
09:33:40
ну самый норм вариант, просто две функции которые туда обратно переводят
или одна с указанием направления

Сергей
21.07.2016
09:33:54
это если конечно не нужно типы приводить или как-то изменять данные

Алексей
21.07.2016
09:34:19
в любом случае придется иметь где-т мап свойств с сервера/клиента

Ave
21.07.2016
09:34:24
конечно это первое что мне пришло в голову, не считая гуглового GSON
но, это зашквар а не вариант

Slogger
21.07.2016
10:05:02
прокинуть через контекст?
Так, вброс насчёт редакса. Есть большой список и формочка, которая задаёт фильтр. И куча компонентов в разных частях системы, которым нужен этот фильтрованный список.
Так вот, хотелось бы один раз его отфильтровать и куда-нибудь засунуть. Как это сделать поизяшнее?

Brs
21.07.2016
10:08:05
в редьюсер так-то

Google

Brs
21.07.2016
10:08:21
ну в смысле в стор

Сергей
21.07.2016
10:14:10
+1

Nikita
21.07.2016
10:45:14

Ave
21.07.2016
10:45:28
не троль плиз)

Nikita
21.07.2016
10:46:19
я не троллю)
а вообще - рекурсивно проходишься по структуре с _.capitalize и обратно с _.dasherize и норм. Или как-то так функции называются

Алексей
21.07.2016
10:47:42

Roman
21.07.2016
10:53:28

Alxander
21.07.2016
10:57:09
Какое-то фиговое решение всё автоматом переводить. Да и в чем, собственно, проблема руками выдернуть нужные переменные?

Ave
21.07.2016
10:58:32
проблема в том что их нужно обратно так же выдергивать

Nikita
21.07.2016
10:59:31
я не понимаю в чем проблема) ты хочешь мини-сериализацию запилить) Если сервак не может норм структуры слать - ну сделай так, в чем проблема?

Ave
21.07.2016
10:59:33
горит жопа зная что в других языках для этого уже есть готовые решения

Ave
21.07.2016
10:59:56
я хочу так

Nikita
21.07.2016
11:00:36
эм, ну декораторы в руки и вперед?)

Ave
21.07.2016
11:00:57
они же не робят на проперти

Алексей
21.07.2016
11:01:20
можешь попробовать прокси использовать
они на сеттеры/геттеры вешаются
можно поизвращаться
ну либо писать функцию аля
getValue(type) и в типе передаешь для клиента/сервера тебе нужно value

Google

Алексей
21.07.2016
11:02:38
возвращается объект с нужными свойствами, но от мапа не уйти ни как тут, мне кажется

Ave
21.07.2016
11:02:47
почитаю, спасибо

Алексей
21.07.2016
11:03:07

Nikita
21.07.2016
11:03:51
прокси полифилятся?

Anton
21.07.2016
11:04:17

Nikita
21.07.2016
11:04:55
?

Sergey
21.07.2016
11:04:56
А по-моему да:
https://github.com/GoogleChrome/proxy-polyfill

Admin
ERROR: S client not available

Sergey
21.07.2016
11:05:13
Но он медленноват

Алексей
21.07.2016
11:05:31
и не полный
но гет/сет реализует

Denis
21.07.2016
11:52:46
SO эволюционирует: http://stackoverflow.com/documentation/javascript/topics

lamo2k
21.07.2016
11:59:06
Может кому пригодится
https://github.com/lamo2k123/daemon-command-webpack-plugin
https://www.npmjs.com/package/daemon-command-webpack-plugin

Denis
21.07.2016
12:03:12
Огонь!
А кто использует https://robertknight.github.io/posts/webpack-dll-plugins/ ?
@klimashkin у вас много и большие сборки. Рассматривали или внедряли?)

Leonid
21.07.2016
12:11:37

lamo2k
21.07.2016
12:12:20

Leonid
21.07.2016
12:13:24
На сколько??
сейчас пересобирается за 700мс, было по-моему за 2сек
давно внедрял уже

Google

Leonid
21.07.2016
12:13:43
или даже больше

lamo2k
21.07.2016
12:13:54
Вендоров только выкинули??

Leonid
21.07.2016
12:15:31
да, только вендоры. Парсил package.json и брал все из dependencies, исключая не-js пакеты(вроде normalize.scss) вручную прописанным списком.

Lupsick
21.07.2016
12:26:18
https://gist.github.com/auser/1d55aa3897f15d17caf21dc39b85b663
понимаете какой пиздец?
есть более щадящий способ загрузить гугл карты и сделать все что нужно с объектом?

Roman
21.07.2016
12:30:09
https://github.com/istarkov/google-map-react

Lupsick
21.07.2016
12:41:10
а onclick по балуну ты делал?

Roman
21.07.2016
12:52:18
Неа, у меня простая задача была

Alxander
21.07.2016
14:29:03
Слухайте, а кто как делает 404 на клиенте? Ну мол есть длинный урл и редаксовский стейт с полями, в которые должны запихнуться данные.
Сейчас сделал странную штуку: если данных нет запихиваю туда Symbol с ошибкой.
Можно ещё, наверное, в однельный список ошибки складывать с какими-нибудь айдишниками. Но, кажется, что это намного сложнее.

Konstantin
21.07.2016
14:37:04
А при чем 404 и редакс?
Это ж к роутеру больше вопрос

Alxander
21.07.2016
14:38:12
Ну как-то же компонент должен узнать, что тут ничего нет.

Konstantin
21.07.2016
14:38:36
404 это ошибка роутинга а не отсутсвия данных

Alxander
21.07.2016
14:38:41
Или типа прям в роутере проверять и если нет рендерить отдельную страаничку?

Konstantin
21.07.2016
14:44:23
<Route path="*" component={NoMatch}/>