
Alexandr
29.05.2017
17:11:22
Да тут у нас просто дичайший холивар развернулся

Illya
29.05.2017
17:11:32
Чаще всего вам нужен computed
С очень малой вероятностью watch

Igor
29.05.2017
17:13:27
people, как часто вы используете underscore\lodash во vue-apps?
если это идёт в браузер, и используется меньше 65% библиотеки, и дедлайн не горит — то не использую. скорее всего можно написать свою функцию, которая будет занимать меньше места, а следовательно быстрее загружаться по сети.
если же я прототипирую, или мне некогда заботиться о пользователях — использую. 4кб gzip, переживут.

Google

Юра
29.05.2017
18:27:55
Здравствуйте
Есть вопрос по Nuxt.js
Почему рендер функции доступные в браузере ?
nuxtServerInit...
Можно ли как нибудь разграничить ?

Rafael
29.05.2017
18:31:31
Tree shaking все дела?
И вообще, зачем костылить самому если есть годные либы?

Dmitriy
29.05.2017
18:51:14
парниши мож сталкивался кто чего veeValidate не локализует поле при правиле confirmed:{target}? http://joxi.ru/Rmz5xEaCqNaVrO
http://joxi.ru/EA41zLqULNVqrb

Igor
29.05.2017
19:37:15
к тому же определить, используется ли некая функция (из лодэш, например) — неразрешимая задача в общем случае.

Kelin
29.05.2017
19:39:46
В смысле? Что за бред?
Они же даже в разных файлах хранятся вроде как
import get from 'lodash/get'
и подгружаются по одной

Stanislav
29.05.2017
19:40:26
Они даже в разных пакетах есть)))

Google

Kelin
29.05.2017
19:40:32
вот вот

Igor
29.05.2017
19:41:47
// Cherry-pick methods for smaller browserify/rollup/webpack bundles.
var at = require('lodash/at');
var curryN = require('lodash/fp/curryN');
о, ну тогда да, кайф

Kelin
29.05.2017
19:43:46
вот вот
х2

Rafael
29.05.2017
19:44:24

Nikolay
29.05.2017
19:58:56
Привет всем
Кто нибудь знает, куда перенесли репозиторий https://github.com/vuejs/vue-loader-example?

Alex
29.05.2017
20:12:12
А о чем там пример был

Illya
29.05.2017
20:12:44
Ибо именованные импорты

Nikolay
29.05.2017
20:28:18
Нашёл уже и сделал PR в доки.

Igor
29.05.2017
20:46:49
Ибо именованные импорты
import _ from 'lodash'
while (flag) {
// бесконечный игровой цикл, например
if (false) flag = true
}
// не запустится никогда, но мы из-за этого импортируем весь модуль (ну или отдельно взятую функцию)
_.filter([1,2,3], f)
на этапе сборки-компиляции нельзя однозначно узнать, используется ли lodash или нет. поэтому мы будем импортировать весь модуль, только потому что он упоминается в коде ниже. я вот про это говорил.

Illya
29.05.2017
20:47:08
Так не работает :)
import { filter } from 'lodash'
Там же ради этого именованные импорты и сделали
Если вам нужна часть библиотеки

Igor
29.05.2017
20:48:08
ну, я не конкретно про lodash, на самом деле, а про любую библиотеку.

Illya
29.05.2017
20:48:16
Я тоже
Иметь дефолтный экспорт который включает в себя все вобщем то моветон

Google

Igor
29.05.2017
20:52:20

Illya
29.05.2017
20:52:38
А это вообще ещё не часть стандарта :)

Igor
29.05.2017
20:58:00

Illya
29.05.2017
20:58:16
А он там и есть
Только пока конкретно для лодеша три шейкинг не осиливает

Kelin
29.05.2017
21:04:43

Igor
29.05.2017
21:11:22
А он там и есть
как-то мне трудно представить, почему он работает, если в js есть всякие eval, copmuted-свойства итд. то есть динамические штуки, потенциально приводящие к использованию всего что есть в модуле.
то есть будет импортировано больше чем нужно, в конечном итоге.

Illya
29.05.2017
21:12:28
Импорты обязаны быть статически анализируемы
Это требование стандарта
eval("import foo...")
Сделать невозможно

Illya
29.05.2017
21:13:26
Т.е. построит ast мы уже знаем какие компоненты используются во внешних модулях

Kelin
29.05.2017
21:13:28
+ все импорты должны быть сверху

Illya
29.05.2017
21:14:29
Внутри же модуля строится стандартное дерево вызовов. Естественно eval сразу ломает tree shaking внутри модуля, но кто ж его использует. При этом он же не ломает внешний tree shaking

Rafael
29.05.2017
21:15:52

Kelin
29.05.2017
21:16:07
импорты обязательно
require не обязательно

Rafael
29.05.2017
21:16:43
Хм, ну ладно

Kelin
29.05.2017
21:24:04
ага ага

Google

Kelin
29.05.2017
21:24:06
рафик
не зазубрил, да
на пересдачу пойдете

Den
30.05.2017
00:51:20
Не обязательно
Вроде как динамический import() из es6 тоже не обязательно
Вернее динамический может быть не сверху, а обычный всегда идет в начале

/dev/null
30.05.2017
05:32:00
У кого работает @karma_chat_bot ?

Ilia
30.05.2017
06:08:35
Господа, че то я туплю, а есть простой способ сделать весь массив реактивным?
При инициализации этот массив объявляется в data как []

Alex
30.05.2017
06:14:29
вот он уже реактивный)

Stanislav
30.05.2017
06:23:44
Magic.jpg

Admin
ERROR: S client not available

Ilia
30.05.2017
06:37:15
Я тоже так хотел чтоб он был реативным. Но почему то нет. В data я объявляю пустой массив, а потом я кладу туда массив объектов полученный с сервера. И свойства этих объектов не реактивные.
Я читал доку. Но там только новые свойства 1 объекта.

Alex
30.05.2017
06:40:15
Ммм... Как понять не реактивные, отслеживает всё

Rafael
30.05.2017
06:41:28

Ilia
30.05.2017
06:42:57
понимаю. думаю сейчас как показать

Roma
30.05.2017
06:43:16
Да наверное массив просто заменяешь

Rafael
30.05.2017
06:43:27
ну думай-думай

Roma
30.05.2017
06:43:58
Через присваивание

Google

Rafael
30.05.2017
06:44:02

Roma
30.05.2017
06:44:30
Но сам массив перестает быть реактивным, но это не точно
Если его модифицировать, да, все ок

Denis
30.05.2017
06:52:21
Для массивов лучше set использовать

Ilia
30.05.2017
06:55:46
Вобщем я пока делал скрины и снимал видео с devtools нашел косяк
всем спасибо, извините за утренний затуп

Stanislav
30.05.2017
06:57:18
Че было то

Ilia
30.05.2017
06:59:28
Я тупанул на бэкэнде. Он отбрасывал из json'а поля с нулями
Соответственно поле в объекте появлялось уже когда я его менял первый раз, но оно естественно не было реактивными

Diasko
30.05.2017
07:04:11
Если присоедениеть через mixins и присвоить массив полю из mixins оно будет не реактивно
Вчера на это наткнулся)

Konstantin
30.05.2017
08:42:00
всем привет.
Сделал пару страниц, на локалхосте выглядят и функционируют ок.
Но build в папке static какой-то неправильный: открываю html и вижу белый экран. В консоли ругался на пути подключения файлов app.js, vendors.js, manifest.js - пути исправил вручную. Теперь ссылается но то, что не определен компонент.
В итоге имею такой вид -- http://dl4.joxi.net/drive/2017/05/30/0016/3113/1055785/85/f2345b2c3b.jpg и ошибку в консоли Uncaught ReferenceError: VueSelect is not defined
Что я делаю не так, какие тонкости компиляции?

Igor
30.05.2017
08:44:06
это ты попытался index.html открыть в браузере?

Konstantin
30.05.2017
08:44:24
ага

Виталий
30.05.2017
08:44:38
Konstantin тебе нужно изменить в вебпак конфиге assetsPath
там надо убрать слеш
чтобы оно сразу видело
твои файлы

Stanislav
30.05.2017
08:47:01
Или запустить это на сервере...

Igor
30.05.2017
08:47:45
ага
в конфиге вебпака написано, что он не рассчитан на запуск в таком виде. всегда нужен какой-нибудь static server. можно, кстати node-static попробовать.

Konstantin
30.05.2017
08:51:42
можно поподробнее? я в вебпаке совсем днище.
интересно понять принцип, чтобы смог доработать сборку и на выходе получать именно статичные html-файлы.

Stanislav
30.05.2017
08:53:39
Они и так статичные

Illya
30.05.2017
08:55:14
Просто по протоколу file:/// не открываются