
Denis
05.09.2016
20:06:00
@gusnkt Была проблема с долгим npm install, но с учётом отдельного image для node_modules, это уже не актуальная проблема)

Nikita
05.09.2016
20:06:33
то есть надо грамотно кешировать package.json

Denis
05.09.2016
20:07:34
С одной стороны - не хотелось бы всё в одном держать, чтобы понимать, что делает каждая часть. С другой, всё в одном позволяет быстрее обновление произвести.)

Google

Vladimir
05.09.2016
20:08:15
ну наверняка каждая часть в своей папке

Nikita
05.09.2016
20:08:16
если ты не держишь все в одном - у тебя будет другая проблема. Во всех пакетах обновить babel, линтер, lodash, etc.

Vladimir
05.09.2016
20:08:25
положи туда package.json

Denis
05.09.2016
20:08:44

Nikita
05.09.2016
20:08:58
ну кстати да) шареные зависимости в root, остальные в отельные package.json

Vladimir
05.09.2016
20:08:59
не, один основной, и в каждой папке свой
два npm install

Nikita
05.09.2016
20:09:26
и прям 99% - есть тулза, которой даешь пути к остальным package.json, и в postinstall

Denis
05.09.2016
20:09:59
А вот кстати про postinstall такая инфа поступила :)
If there is a binding.gyp file in the root of your package, npm will default the preinstall command to compile using node-gyp
`BEST PRACTICES
Don't use install. Use a .gyp file for compilation, and prepublish for anything else. You should almost never have to explicitly set a preinstall or install script. If you are doing this, please consider if there is another option. The only valid use of install or preinstall scripts is for compilation which must be done on the target architecture.`
https://docs.npmjs.com/misc/scripts#best-practices

Vladimir
05.09.2016
20:10:28
ну эт не новость

Google

Vladimir
05.09.2016
20:10:43
по хорошему скрипты должны быть задизейблены при инсталле

Denis
05.09.2016
20:12:35
задизейблены?

Vladimir
05.09.2016
20:13:02
для безопасности

Denis
05.09.2016
20:13:10
Для меня, кстати, новость - я относитлся к postinstall как секции, откуда можно дёрнуть build, например, чтобы два раза в консоль не ходить)

Vladimir
05.09.2016
20:13:50
ручками запускать

Дмитрий
05.09.2016
20:13:58
Так он сам же может запускаться, это же фича

Vladimir
05.09.2016
20:14:12
а то в binding.gyp тоже может быть всякое

Дмитрий
05.09.2016
20:14:34
Ну так то и в модулях может быть всякое)

Vladimir
05.09.2016
20:14:43
может!
но не в момент инсталла

Denis
05.09.2016
20:15:55
да, стоит разделять install и build
Внезапно осознал
)
install надо переименовать в fetch
С другой стороны, вот есть package.json:
{
"name": "my-app",
"version": "1.0.0",
"private": true,
"author": "Startup Makers",
"devDependencies": {
"browserstack-local": "^1.0.0",
"nightwatch": "^0.9.5"
},
"engines": {
"node": "5.x",
"npm": "3.x"
},
"scripts": {
"test": "./node_modules/.bin/nightwatch -c nightwatch.conf.js -e chrome_51,ios_9",
"test:local": "node browserstack.local.js"
}
}
и чё-то не сильно бы его хотелось мешать с основным большим package.json
Поэтому вариант вначале смотрится лучше всего


Semen
05.09.2016
20:28:00
Ребята, мне надо реализовать голосовалку, так вот, сейчас думаю, результаты голосовалки луше вычислять каждый раз при запросе или все таки их в базе надо хранить?

Google

hamper ?
05.09.2016
20:32:03
счетчики лучше хранить где то дополнительно, не обязательно в базе, можно просто в память кешировать

Evgeny
05.09.2016
20:35:20
А зачем их считать если они не меняются пока не было голоса?
Голос появился - пересчитали - сохранили

Vladimir
05.09.2016
20:35:55
можно не хранить для начала, оставить как оптимизацию

Evgeny
05.09.2016
20:36:42
да да, история про 7 нулей

Никита
05.09.2016
20:42:21
Я недоволен хапи.
Тут есть адепты хапи?

Evgeny
05.09.2016
20:44:03
я

Vladimir
05.09.2016
20:44:08
Опередил:)

Dmitry
05.09.2016
21:42:25
А что нужно? Express?

Nikita
05.09.2016
21:44:00
connect
а вообще - require('http') и вперед

Vladimir
05.09.2016
21:50:50
да, это вообще норм

Alex
05.09.2016
22:38:21
Ребят, решил я таки забахать небольшой проект) Фронт - простая страничка на реакте (очень маленькая). А вот сервак рабтает как API, сам ничего не рендерит.
Хотелось бы юзать все плюшки ES6/7, а, следовательно, надо настроить webpack. Так вот в гугле слишком много инфы, как настроить его для фронта, но нет ничего для бека.
Мне бы автосборку проекта и автоперезагрузку при обновлении (автоперезагрузку именно сервера, без клиента), есть годные мануалы?

マイク
05.09.2016
22:40:52
документацию открыть, не??
https://webpack.github.io/docs/

Alex
05.09.2016
22:45:37
Открывал) Там куча инфы про webpack-dev-server и ему подобных. А вот как то же самое сделать для сервера не нашел (:
Единственное что пока пришло в голову - вешать observer на файл, а node запускать через child_process. Как файл меняется убивать старый процесс и запускать новый.

Vladimir
05.09.2016
23:24:02
вебпак для бэка

Никита
06.09.2016
04:12:42
хапи слишком магический.

Google

Никита
06.09.2016
04:13:45
Хотя коа этим тоже страдает, например.

Sklyarov
06.09.2016
05:53:24
вебпак для бэка
а как инлайн стили можно сбилдить не теряя модульность?вебпак это может?
а как инлайн стили можно сбилдить не теряя модульность?вебпак это может?так чтобы это можно было быстро внедрить в деплой

Константин
06.09.2016
06:44:22

Никита
06.09.2016
06:45:09
Нет, такие обёртки часто мешают функции, которые делают разное, под одним названием.

Evgeny
06.09.2016
07:24:22
Напоминаю, что у нас есть чат @javascript_jobs

Admin
ERROR: S client not available

Evjeni
06.09.2016
08:59:36
http://rutracker.org/forum/viewtopic.php?t=5165542
Что скажите, стоит почитать?

Alex
06.09.2016
12:26:40
Никто не сталкивался с тем, что после удаления кук, хром отправляет залоговок Cookie в ненормализованной форме?:
user_id=; session_id=; session_id=XXXXXXX; user_id=6
но это ок,
проблема в том, что npm cookie, который используется в express cookie middleware в соответствии со стандартом не полагается на порядок ключей с одинаковыми названиями и просто берёт первый ключ.
Стандарт: https://tools.ietf.org/html/rfc6265#section-4.2.2
issue: https://github.com/jshttp/cookie/issues/60#issuecomment-244832423
на мой взгляд, это очень странное упущение в стандарте и читать нужно последнее значение.

Кисик
06.09.2016
12:27:43
Правильно ли то, что если приложение изоморфное, то оно на каждый роут грузит пререндеренную страницу? Или пререндер грузится только при первом заходе в приложуху?
Ну вот я просто смотрю вот эту репу https://github.com/RickWong/react-isomorphic-starterkit
И насколько я понял, там каждый роут рендерится и на сервере, это норм?

Alex
06.09.2016
12:29:49
Если всё рендерится на сервере, то смысл универсальности теряется во многом

Кисик
06.09.2016
12:33:50
То есть это не совсем хороший бойлерплейт?

Alex
06.09.2016
12:34:43
если всё так как ты говоришь, то да. Но не бурусь судить неразобравшись в нём

Кисик
06.09.2016
12:35:10
Окей, спасибо

Brs
06.09.2016
12:35:14
ох, в изоморфном приложении каждый роут должен уметь рендерится и на клиенте и на сервере
ты же не можешь угадать, к какому роуту будет первый запрос

Google

Кисик
06.09.2016
12:35:51
Чтоб при перезагрузке страницы на рандом роуте не усралось все?
Ага

Brs
06.09.2016
12:36:57
ты какими-то странными вопросами задаешься
тебе стоит глубже изучить данную тему

Alex
06.09.2016
13:00:41
посоветуйте анлгоязычный node-чатик
#
есть ли плагин к sublime, который сразу же ставит npm пакет и прописывает package.json, как только в файл прописано require или import?
как-то тут тихо...

Петров
06.09.2016
13:13:12
в сублиме наверное нету, а в grunte или gulpe можно сделать, такую веш

Alex
06.09.2016
13:14:57
Где можно про impress почитать?
На хабре что-то общая инфа только

Mikhail
06.09.2016
16:03:22
Я поптытался выделить функции для каждого case, но получилось, что в неё надо передавать по 4 параметра, а это при условии, что я ещё БД не подключил. Что предложите?

Vladimir
06.09.2016
16:05:14
а в чем проблема передавать по 4 параметра?

YOda
06.09.2016
16:06:00
Es6 не ? ...var

Mikhail
06.09.2016
16:07:33

Vladimir
06.09.2016
16:07:48
ничего себе
я не знал
ну положи их все в объект, будет один