@vuejs_ru
Vue.js — русскоговорящее сообщество

Общаемся на темы, посвященные Vue.js и опыту его использования. Проблемы. Новости. Решения. См. также: @js_ru, @react_js, @angular_ru, @nuxtjs_ru Вакансии только тут: @javascript_jobs

3988 members

Архив канала @vuejs_ru 18 октября 2016 г.

12:01:00 ДП
User 94523403
и вот что говорит автор про использование компонентов отдельно.
Извиняюсь на нубство, но как-то можно собрать так, чтобы избежать дублирования кода?
12:08:48 ДП
User 58768789
User 94523403
по хорошему наверное да, так и следует поступить
но там эти компоненты импортят друг друга, тоже придется попыхтеть над сборкой рабочего билда, + вебпак таки придется внедрять? ибо import в браузере никак
Node Js поставить, да и все
12:09:15 ДП
User 94523403
Но это на фронте ведь
12:09:16 ДП
User 58768789
Сборка какой нить командой типа npm run build
12:09:26 ДП
User 58768789
И что?
12:09:39 ДП
User 94523403
Окей, изучу, спасибо!
12:10:27 ДП
User 58768789
Node js - это просто js, умеющий работать с файловой системой (грубо)
12:11:19 ДП
User 94523403
У меня нода на бэке, но что-то установка через нпм не позволяла юзать на фронте, ругался что не определен keen
12:11:33 ДП
User 94523403
Что-то я не догнал видать
12:11:39 ДП
User 58768789
Видать
12:12:28 ДП
User 58768789
В случае с юи китом тебе не нужно будет зависимости прописывать
12:12:28 ДП
User 94523403
Серверный/клиентский рендеринг, в этом дело может
12:13:25 ДП
User 58768789
User 94523403
Серверный/клиентский рендеринг, в этом дело может
Npm один и тот же, так что вряд ли
02:32:53 ДП
User 58768789
Посоны, а кто-нить пилил сборку ву2+ву-лоадер на вебпаке с хот-релоадом нормальным? У меня хот-релоад отрабатывает только на изменения в темплэйте. Если меняю стили или код компонента (любого из нескольких) - страница перезагружается с нуля
02:41:18 ДП
User 184398046
Так https://vue-loader.vuejs.org/en/features/hot-reload.html написано что hot для темплейтов и стилей
02:42:32 ДП
User 58768789
Там предлагается через vue-cli инициировать заранее заготовленный конфиг. Но там он дичайше сложный
02:42:43 ДП
User 58768789
Уверен, можно проще
02:43:00 ДП
User 58768789
Все-таки темплэйт то обновлять у меня получается
04:06:52 ДП
User 58768789
User 184398046
Так https://vue-loader.vuejs.org/en/features/hot-reload.html написано что hot для темплейтов и стилей
Суть в том, что у меня и стили не хот-релоадятся. А конфиг, предлагаемый vue-cli релоадит в том числе и код
04:07:33 ДП
User 184398046
для hot-reload чем пользуешься?
04:07:49 ДП
User 58768789
User 184398046
для hot-reload чем пользуешься?
webpack-dev-server
04:08:00 ДП
User 58768789
А у ву кли - express
04:08:06 ДП
User 58768789
И ручечками все
04:08:09 ДП
User 184398046
каким лоадером?
04:08:13 ДП
04:09:25 ДП
User 58768789
Мне тут подогнали идею - для дева использовать то, что предлагает ву-кли, а для сборки - свое вхерачивать
09:04:48 ДП
User 552804
ребзя
09:05:10 ДП
User 552804
а можете вот прям очень простыми словами объяснить vuex, для чего оно нужно, какой то реальный простейший пример
09:05:38 ДП
User 58768789
Уменьшение связанности компонентов
09:06:10 ДП
User 58768789
Пример: у тебя есть три компонента - Root, Autorization, Content
09:06:45 ДП
User 58768789
В зависимости от того, авторизован ли ты, контент показывается разный.
09:07:08 ДП
User 552804
я немного не вдупляю все равно, я работаю в бэкенд, и компоненты на vue пока не делал. Пока делал  какие то отдельные вещи, типа корзина товаров на фронте с записью в sessionStorage. А компоненты на фронте не понимаю пока
09:07:21 ДП
User 58768789
И чтобы не создавать связь между компонентами Auth и Content через корневой - херачишь статус в vuex
09:07:44 ДП
09:09:12 ДП
User 58768789
На конкретно этом примере плюсы могут быть не так заметны. и тогда представь, что у тебя есть такое дерево компонентов
Root
—MainMenu
—--LinksList
—--AuthorisationLink (вызывает открытие модалки)
—ModalWindow (hidden по-умолчанию)
—Content
09:09:49 ДП
User 58768789
И вот теперь тебе нужно открыть модалку по клику на Authorisation
09:09:58 ДП
User 58768789
Как сделаешь на вуе чистом?
09:10:46 ДП
User 552804
то есть из одного компонента вызывать другой? ну или не вызывать а менять данные? или как
09:10:51 ДП
User 58768789
А на vuex - у тебя есть состояние модалки в общем сторе. По клику на Authorisation - ты его меняешь. Все, модалка открылась. А сильной связанности между компонентами - нет
09:11:19 ДП
User 58768789
Менять состояние далекого компонента в зависимости от состояние другого далекого компонента
09:11:37 ДП
User 58768789
Или менять данные, да
09:11:42 ДП
User 552804
аа, понял вроде
09:11:50 ДП
User 552804
спасибо большое :)
09:12:00 ДП
User 552804
надо чтото на практике сделать с компонентами
09:12:14 ДП
User 552804
а диспетчер?
09:12:20 ДП
09:12:27 ДП
User 58768789
dispatcher?
09:12:35 ДП
09:13:01 ДП
09:13:11 ДП
User 552804
а, чот не то спросил)
09:15:11 ДП
User 552804
и вот этот весь vuex никак не связан с изменением фронта когда меняются данные на фронте? то есть новая запись появилась, чтобы она сразу появлялась у всех... мне тут говорили что это socet.io и подобное, то есть с vuex это никак не пересекается, да?
09:15:48 ДП
User 58768789
Он собственно инициализирует смену данных стора. Суть в чем, если бы это была какая-то глобальная переменная, к которой можно было бы менять откуда угодно, пришлось бы применять dirty-checking для отслеживания изменений в ней. Dispatcher (в vuex это вроде называется Mutator, откуда Dispatcer вообще?) представляет собой синхронный код изменения стора. По окончании этого кода вычисляется разница и отправляется всем компонентам, который подписались на изменение измененных частей сторв
09:15:53 ДП
User 58768789
Хера я выдал
09:15:59 ДП
09:16:54 ДП
User 58768789
User 552804
и вот этот весь vuex никак не связан с изменением фронта когда меняются данные на фронте? то есть новая запись появилась, чтобы она сразу появлялась у всех... мне тут говорили что это socet.io и подобное, то есть с vuex это никак не пересекается, да?
Не, никак не связано. Это просто способ удобного хранения текущего состояния приложения
09:17:14 ДП
User 552804
понятненько
09:17:19 ДП
User 552804
сложно у вас во фронте))
09:18:09 ДП
09:19:49 ДП
User 58768789
Просто для фронта производительность - один из первых критериев качества. А так как сейчас высокие требования к функционалу, то для достижения обоих качеств приходится применять вот такие вот сложные штуки
09:21:13 ДП
User 552804
ну вот этот vuex он же наверняка нужен для SPA? Для каких то отдельных компонентов на сайте он вряд ли мне пригодится. Я бэкендер и vue юзаю исключительно для кокнретных штук, типа вывести красиво список с сортировкой, или вот корзину
09:21:56 ДП
User 58768789
Да, для SPA в основном
09:22:20 ДП
User 552804
тогда пока и не буду с ним заморачиваться :) Но главное понял вообще для чего нужно
09:22:56 ДП
09:25:24 ДП
User 58768789
User 552804
ну вот этот vuex он же наверняка нужен для SPA? Для каких то отдельных компонентов на сайте он вряд ли мне пригодится. Я бэкендер и vue юзаю исключительно для кокнретных штук, типа вывести красиво список с сортировкой, или вот корзину
Ну для корзины можно заюзать на деле
09:25:55 ДП
User 552804
у меня там даже без компонентов сделано
09:26:01 ДП
User 58768789
Ааа, оке
09:26:10 ДП
User 552804
работает хорошо, нравится)
10:23:05 ДП
User 552804
а подскажите по js  в целом, хочу вывести время через Date(), будет выводиться время текущее на устройстве? Можно как то выводить точное время по москве даже если на устройстве сбито время
10:28:09 ДП
User 139068333
moment.js же
10:28:41 ДП
10:28:42 ДП
User 19984556
не думаю что moment.js решит вопрос со сбитым временем
10:28:53 ДП
User 139068333
ну вопрос со сбитым временем не решит ничего
10:29:01 ДП
User 19984556
синк с сервером
10:29:07 ДП
User 139068333
колхоз
10:29:12 ДП
User 552804
то есть js вообще не решит такого без обращения к серваку правильно?
10:29:17 ДП
User 139068333
если есть интернет то почему не работает ntp ?
10:29:18 ДП
User 19984556
пожалуй
10:29:21 ДП
User 164670195
сверить разницу времени
10:29:27 ДП
User 164670195
и её прибавлять
10:29:59 ДП
User 139068333
лол царски ваще http://jehiah.cz/a/ntp-for-javascript
10:30:01 ДП
User 19984556
User 139068333
если есть интернет то почему не работает ntp ?
это кое-что на что разработчик веб-приложения повлиять не может
10:30:18 ДП
10:31:01 ДП
User 139068333
да ты прав но это такое. на откуп непонятно кому. но щас всё современно старается синкать
10:32:01 ДП
User 139068333
но синкать прямо из жс из сервера имеет смысл
10:32:08 ДП
User 19984556
но знаешь, ntp.js определённо полезная вещь. принимаю к сведению)
10:32:13 ДП
User 139068333
хорошую тему поднял
10:32:34 ДП
User 139068333
ну вот да. если б не этот разговор тоже бы не узнал что такая лампота есть :)
10:33:19 ДП
User 139068333
чето оно очень простое
10:33:43 ДП
User 164670195
а чё так сложного, получил запрос, распарсил
10:35:04 ДП
User 139068333
и учел все погрешности
10:35:16 ДП
User 139068333
ну ntp как то сложно синхронизирует
10:35:30 ДП
User 139068333
итерациями пока ошибки минимизируется
10:35:45 ДП
User 139068333
ну если нужны точности
10:35:52 ДП
User 164670195
не лучше со своим сервером синхронить?
10:36:22 ДП
User 139068333
лучше чем что
10:36:29 ДП
User 552804
у меня этот вопрос вообще возник делая реализацию со временем на конструкторе сайтов WIX))
10:36:32 ДП
User 139068333
лучше, но тогда нужен надежный способ
10:37:11 ДП
User 139068333
всмысле конечно идеально было бы вебню ранить с временем сервера и иметь надежный способ это время синкать
10:37:26 ДП
User 139068333
но такого способа нет
10:39:00 ДП
User 139068333
ну и да
10:39:17 ДП
User 139068333
мы не может синхронизировать часы на большом расстоянии
10:39:24 ДП
User 139068333
и считать что они идут одинаково
10:43:49 ДП
User 139068333
http://stackoverflow.com/a/1230826/720545
stackoverflow.com/questions/1228089/how-does-the-network-time-protocol-work/1230826
The Wikipedia entry doesn't give details and the RFC is way too dense. Does anyone around here know, in a very general way, how NTP works? I'm looking for an overview that explains how Marzullo's
10:44:06 ДП
User 139068333
ну они тоже днища и  предполагают что время отправки и получения равны
10:44:29 ДП
User 139068333
наверняка в сети есть пост какогото чувака который всерьёз занимается этим всем полный боли и страданий
10:45:24 ДП
User 19984556
Есть даже поинтереснее штуки, в которых этот вопрос тоже поднимался, как то swarmjs
10:46:34 ДП
User 19984556
Но в случае со swarm время - только один из многих факторов
11:07:29 ДП
User 215699186
Есть объект obj = {}
Как проверить объект на пустоту в теплейте?
11:15:25 ДП
User 215699186
*темплейте
11:18:25 ДП
User 215699186
ладно, через фильтр решил
11:21:01 ДП
User 39182759
http://infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
infiniteundo.com/post/25326999628/falsehoods-programmers-believe-about-time
Over the past couple of years I have spent a lot of time debugging other engineers’ test code. This was interesting work, occasionally frustrating but always informative. One might not immediately...
11:24:54 ДП
User 139068333
ну знаете
11:25:16 ДП
User 139068333
я как то провел дня три чтобы разобраться какой мне формат принимать в беке
11:25:19 ДП
User 139068333
и как хранить
11:25:38 ДП
User 139068333
просто время само по себе это полный пиздец
11:25:45 ДП
User 139068333
на целую предметку хватит
12:16:39 ПП
User 104917543
всем привет, можете подсказать как можно решить следующую проблему - понадобилось перевести проект с галпа на вебпак, чтоб не создавать отдельный репозиторий отбил отдельный бранч, заинсталил вебпак, прописал конфиг, удалил некоторые файлы в проекте, настроил вебпак сервер, запускаю сервер, а он запускает файлы с другого бранч