@vuejs_ru

Страница 493 из 3900
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... Можно ли как нибудь разграничить ?

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
Tree shaking все дела?
он только для модулей работает

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

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
х2
x3

Nikolay
29.05.2017
19:58:56
Привет всем

Кто нибудь знает, куда перенесли репозиторий https://github.com/vuejs/vue-loader-example?

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

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
import { filter } from 'lodash'
вроде есть ещё import * для лентяев

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

Igor
29.05.2017
20:58:00
import { filter } from 'lodash'
тогда должен быть граф зависимостей внутри модуля.

Illya
29.05.2017
20:58:16
А он там и есть

Только пока конкретно для лодеша три шейкинг не осиливает

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
Ммм... Как понять не реактивные, отслеживает всё

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:/// не открываются

Страница 493 из 3900