@react_js

Страница 70 из 5115
Dmitrii
29.04.2016
18:51:24
на сервере нужно будет распарсить

https://github.com/expressjs/multer

как пример

Evgeniy
29.04.2016
18:52:49
На клиенте через formdata можно?

Google
Evgeniy
29.04.2016
18:52:56
Append

Dmitrii
29.04.2016
18:53:19
ага

Evgeniy
29.04.2016
18:53:37
Ну все, теперь дело пойдёт

Dmitrii
29.04.2016
18:54:01
??

Evgeniy
29.04.2016
18:56:14
А подскажи как лучше картинки хранить, оригинал и миниатюры или лучше оригинал а потом при запросе нужный размер отдавать?

Dmitrii
29.04.2016
18:57:16
зависит от скейла. на небольшом скейле можно ресайзить+кешировать и отдавать

на большом такое уже не прокатит :)

Evgeniy
29.04.2016
18:58:57
Ну как бы я для себя делаю как хобби. Но стараюсь делать как правильно, то есть, при сохранении на сервере создавать миниатюры?

Viacheslav
29.04.2016
18:59:25
твиттер ресайзит а через N времени удаляет миниатюры

когда твит ушел в историю

вроде 20 дней постчитали

Dmitrii
29.04.2016
18:59:49
если для хобби, то не важно.. основная проблема в том что если хранишь оригинал + 100x100

Viacheslav
29.04.2016
18:59:51
так что да, зависит от проекта

Google
Dmitrii
29.04.2016
18:59:59
когда меняется дизайн и нужно 120x120

приходится расайзить все :)

ну или как твитте

делать долгий кеш

Evgeniy
29.04.2016
19:00:35
Эх, сколько же много тонкостей

Dmitrii
29.04.2016
19:00:46
поэтому всегда начинай с того что проще и работает

и когда появится проблема со скейлом, начинай смотреть на мелочи :)

Evgeniy
29.04.2016
19:01:11
Спс

Viacheslav
29.04.2016
19:01:32
@dmitriiabramov некоторые решения могут покалечить, например не хранить оригиналы :)

так что о чем-то нужно задуматься

Dmitrii
29.04.2016
19:02:00
@dmitriiabramov некоторые решения могут покалечить, например не хранить оригиналы :)
хаха :) ну совсем думать переставать конечно не нужно

Evgeniy
29.04.2016
19:02:07
)))

Dmitrii
29.04.2016
19:02:10
но думать слишком много это тоже проблема

Evgeniy
29.04.2016
19:03:51
У node.js с отдачей статики нет проблем, или лучше на nginx перевести

Viacheslav
29.04.2016
19:04:00
@dmitriiabramov о, а у тебя есть что сказать по поводу https://www.facebook.com/groups/moscowjs/permalink/1206065032751729/

Evgeniy
29.04.2016
19:04:31
Хм тогда не ясно как ресайзить на лету

Artem
29.04.2016
19:07:35
ресайз происходит или при сохранении, или при запросе, если в кеше нет, в первом случае отдавать уже через nginx можно, так как путь до файла уже есть, во втором нужно нодой готовить картинку

Evgeniy
29.04.2016
19:12:51
Ок

Спс

Буду делать

Google
Denis
29.04.2016
19:24:05
Как сделать несколько бандлов (один язык = один бандл) правильней? loader, plugins?

entry: { 'default': [ './react-app/index.jsx?locale=en-US', Есть какая-то возможность в index.jsx подхватить query?

хотя вот это же работает webpack-hot-middleware/client?path=http://0.0.0.0:8080

if (__resourceQuery) { var querystring = require('querystring'); var overrides = querystring.parse(__resourceQuery.slice(1));

Прекрасно

Alexander
29.04.2016
19:34:10
Нихуя не понял. Ладно.

Denis
29.04.2016
19:45:15
Во, можно ещё: expose?__I18N_LOCALE__!./i18n/en_US.json

Oleg
29.04.2016
19:46:02
а почему не через ENV_VAR какой-нить?

Denis
29.04.2016
19:48:34
require('./i18n/' + process.env['LOCALE'] + '.js') ?

DefinePlugin обработает модули до резолв?

Oleg
29.04.2016
19:48:59
ну это же в конфиге вебпака? (уебищно, да =)

нет вроде

но я бы проверил

Denis
29.04.2016
19:52:46
Вроде тоже нет, хотя может и да

Oleg
29.04.2016
19:53:27
нужен конфиг к конфигу.

config fatigue ?

Dmitrii
29.04.2016
19:54:17
Denis
29.04.2016
19:54:17
@DenisIzmaylov https://github.com/perchlayer/po-loader чекни примеры, может что полезное выдернешь

Ҫѐҏӗѫӑ
29.04.2016
19:54:56
юзали этот лодер кстати

Viacheslav
29.04.2016
19:54:56
@DenisIzmaylov а что не require.ensure?

Google
Denis
29.04.2016
19:57:41
entry: { 'default': [ './react-app/index.jsx', './scss/all.scss' ], 'default-en_US': [ 'expose?i18n!./i18n/locales/en-us.json', './react-app/index.jsx', './scss/all.scss' ], вроде работает

а как ensure применить для этого?

необходимо SSR + SPA

т.е. догружать ещё один JS чё-то не хочется

https://webpack.github.io/docs/api-in-modules.html

Paul
29.04.2016
20:22:40
^^ А если у тебя будет 50 языков, ты будешь 50 entry point обявлять? ;)

Denis
29.04.2016
20:23:45
да ;)

https://github.com/browniefed/react-webpack-empty-starter/blob/master/make-webpack-config.js

как только люди не извращаются :)

Паш, я у этой банды научился =)

Paul
29.04.2016
20:27:33
Только en-us это плохо. Тексты у тебя для en все одиныковые, а вот локали меняют форматирование (дат, чисел) Так что тексты в en, а настройки Intl уже подгоняются под локаль пользователя. Чтобы у всех en-US en-GB en-AU, были теже английские тексты но с разным форматированием

Denis
29.04.2016
20:29:36
Спасибо

Paul
29.04.2016
20:30:00
И не надо ограничивать себя json, используй стандартный js, там всякое может творится. Например,подставлятся дополнительные тексты от бекенда во время сборки или пишутся специфические для intl правила eslint

Denis
29.04.2016
20:30:54
Всегда можно съехать при необходимости, но я скорее вижу то, что перевод будет браться во время сборки из БД

А куда копнуть за локалями Intl?

https://github.com/yahoo/react-intl

вроде их явно не задаёт

Paul
29.04.2016
20:33:05
http://formatjs.io/guides/basic-i18n/

Ну и с Intl играться, react-intl его использует внутри // US English uses month-day-year order console.log(new Intl.DateTimeFormat('en-US').format(date)); // → "12/19/2012" // British English uses day-month-year order console.log(new Intl.DateTimeFormat('en-GB').format(date)); // → "20/12/2012"

Google
Denis
29.04.2016
20:34:34
^^ А если у тебя будет 50 языков, ты будешь 50 entry point обявлять? ;)
FYI в Facebook 10000 билдов JS (инфа 2016) за счёт таких вот веселых комбинаций

Paul
29.04.2016
20:35:36
Я не говор про билды, а говорю про способ задания конфига. Нужно уметь просто задавать сборщику массив из языков, а не копи-пастить entry-points)

Denis
29.04.2016
20:36:19
Понял, да

Denis
29.04.2016
20:36:44
Как для webpack это сделать?

Ҫѐҏӗѫӑ
29.04.2016
20:36:58
Себастьян недавно писал, что у них куча говнокода там в фб

Denis
29.04.2016
20:37:08
Они поэтому и опенсорсить начали

Ҫѐҏӗѫӑ
29.04.2016
20:37:10
поэтому многое не опенсорс

Denis
29.04.2016
20:37:20
Чтобы в порядок приводить начать

Paul
29.04.2016
20:40:17
Они поэтому и опенсорсить начали
Генерировать конфиг вебпака на лету, исходя из человекочитаемого общего конфига проекта. Плюс всякие плюшки типа генерации итоговых скриптов для каждого языка паралелльно, используюя все ядра процессора Начни с одного etry-point и меняй его вместе с любыми другими параметрами конфига на лету

Как для webpack это сделать?
^^ Это был ответ к этому

Denis
29.04.2016
20:43:53
Я сейчас вижу такой процесс: 1. babel-plugin-react-intl извлекает сообщения в директорию src/i18n/messages 2. сборщик накладывает существующую локализацию поверх каждого перевода, чтобы было понятно, что ещё не переведено (в будущем - работа через внешний веб-сервис) 2. в webpack-конфиге функция проходит все файлы перевода и добавляет entry

Paul
29.04.2016
20:44:26
Я помимо умножения бандла на языки еще и умножаю на два: для современных браузеров с поддержкой es6 и для остальных. Соответсовенно, разные настройки бабел-лоадера и externals. Все это делается динамически с использованием фермы (чтобы загрузить все ядра). Чтобы в итоге получить что-то типа app.en.js, app.en.compatible.js, app.fr.js, app.rf.compatible.js, etc.

Denis
29.04.2016
20:46:05
Ты компилируешь отдельно для топовых?

Paul
29.04.2016
20:46:32
Да, в деве с hmr для каждого и в проде.

Denis
29.04.2016
20:47:00
А как все ядра процессора загружаешь?

> Начни с одного etry-point и меняй его вместе с любыми другими параметрами конфига на лету По другому и не рассматривали - пример он и был для того пример. :)

Paul
29.04.2016
20:48:08
В деве тот-же принцип - каждый webpack-dev-server для каждого былда сидит на отдельном процессе, паралелльно, так что все доступно сразу, с какгого браузера не зайди. Изначально я это делал в прошлом году чтобы не использовать sourcemap - это ускоряет сборку и hmr раза в два

Страница 70 из 5115