
Дмитрий
12.06.2017
19:03:26

K
12.06.2017
19:12:10

Igor
12.06.2017
19:36:58
Советчик))

Dmitry
12.06.2017
19:46:42
Привет, нужна помощь, потому что я делаю что-то не так?
В рамках изучения веба пока пишу простенький бэк, решил тесты прикрутить, чтобы быть уверенным в работоспособности...
Нода+сокет.ио+мокка. Написал пробный тест, мокка его проходит, хотя, по "моей" логике должна провалить.

Google

Dmitry
12.06.2017
19:46:46
https://github.com/DKuksenok/CardGame-Dungeon/tree/add-test

Сергей
12.06.2017
19:47:43
https://medium.com/dev-channel/es6-modules-in-chrome-canary-m60-ba588dfb8ab7

Dmitry
12.06.2017
19:47:57
может помочь кто? может я просто совершенно не понимаю мокку (и да, тот еще говнокод?)

Aleksandr
12.06.2017
21:35:39

Dmitry
12.06.2017
21:37:17
Ну, я же считаю говнокодом, т.к. костыли с велосипедами чуть катятся, а это только начало

Aleksandr
12.06.2017
21:37:36
а по сути теста сложно понять, там функциональная логика твоя, сам тест нормальный +-

Dmitry
12.06.2017
21:40:16
Просто странно как-то, по логике, при подключении клиент-сокет должно в консоль вывести + зарегать пользователя и добавить в бд, после чего через сокет сообщает юзернейм.
Но, в логе нет сообщения о подключении и в бд ничего не изменилось
Ну и при старте сервера монга сообщает о подключении, а в тесте нет этого сотбщения, только выкидывает, что сервер слушает и сокет

Aleksandr
12.06.2017
21:42:25

Dmitry
12.06.2017
21:42:54
Пробовал отдельно запускать, пробовал импортить в тест

Google

Dmitry
12.06.2017
21:43:01
И так и так не пашет
Но меня больше удивляет, почему мокка считает тест пройденным

Aleksandr
12.06.2017
21:43:47
повесь на сокет событие error и смотри

Aleh
12.06.2017
21:45:10
на 41ой строке done откуда?

Aleksandr
12.06.2017
21:45:11
он выходит сразу и все ок

Dmitry
12.06.2017
22:05:33

Aleh
12.06.2017
22:06:05
типа того

Kelin
12.06.2017
22:27:34
Гайс, есть ли чатик сишников?

Dmitry
12.06.2017
22:41:03
В гугл вбей
чаты программистов телеграм
Быстро что-нибудь найдешь

Dmitry
13.06.2017
03:17:40
Здравствуйте, посоветуйте пожалуйста ресурсы к чтению по node и express

lamo2k
13.06.2017
05:19:40

Dmitry
13.06.2017
05:24:14
Благодарю))

Yaroslav
13.06.2017
07:09:28

Alexander
13.06.2017
07:47:54
Коллеги, подскажие чем отличается koa-send от koa-static,
настроил koa-send на раздачу статики вот так:
app.use(async (ctx) => {
await send(ctx, ctx.path, { root: path.resolve(__dirname, '../build/index.html') });
});
index.html отдаёт, а подключенные в нём js и css не видит
кто пользуется koa 2, как вы отдаёте бандлы вебпака и ассетс?
любой совет будет полезен

Konstantin
13.06.2017
08:08:13
Есть webpack isomorphic tools

Google

Konstantin
13.06.2017
08:09:29
Но в любом случае все сводится к парсингу assets.json
Генерится через assets webpack plugin

Alexander
13.06.2017
08:18:13
да есть assets, и всё подключается и работает до момента когда хочу запустить всё это на koa
вот по этому пути ищет:
ENOTDIR: not a directory, stat '/Users/AlexanderTorn/Sites/morphobox/build/index.html/assets/styles/main.94b43e16.css'
и понятно, что не находит

Таймураз
13.06.2017
08:24:52
Сейчас скину свой вариант отдачи статики
router.use('/assets/:path*', ctx => send(ctx, ctx.params.path, { root: config.dataFolder }));

Alexander
13.06.2017
08:26:26
то есть koa-send или koa-static вообще не нужен?

Таймураз
13.06.2017
08:26:27
Я не помню, что мне не понравилось в готовом модуле статик, но помню, что там что-то было сделано через задницу
koa-send у меня используется
import send from 'koa-send';
и да, тут уже обсуждалось, пока на стороне бекэнда лучше require использовать

Alexander
13.06.2017
08:27:16
ааа вижу

Таймураз
13.06.2017
08:27:24
Т.е. не делай как я)

Alexander
13.06.2017
08:27:39
да я так и делаю
бабелем транспайлю

Таймураз
13.06.2017
08:27:52
Я тоже
И это неправильно
Хотя с другой стороны, код красивее выглядит
В общем- если чистый бекэнд, лучше require. Если фронт- webpack 2 import
Если бек с SSR- нужно готовить

Alexander
13.06.2017
08:30:29
спасибо

Google

Charles
13.06.2017
08:30:48
ребят, почему такая хрень происходит?
.catch(err => {
res.json({
code: 1,
'message': `error`,
'error': `${err}`,
});
})
если я через строковый литерал пихаю ошибку - она уходит в ответ от сервера. если я просто ее интерполирую - там пустой объект вместо нее
toJSON не помог

Alexander
13.06.2017
08:33:06

Admin
ERROR: S client not available

Charles
13.06.2017
08:33:19
аааа, он в строку не переводил почему-то. всем спасибо)

Таймураз
13.06.2017
08:33:39

Alexander
13.06.2017
08:34:24
path.join(__dirname, '../build') ?

Таймураз
13.06.2017
08:34:46
Мое решение адекватнее тем, что, как минимум, позволяет задать любой webpath и любую директорию, откуда дергать файлы
Да, это

Alexander
13.06.2017
08:37:10
так даже index.html не подтягивает

Таймураз
13.06.2017
08:37:44
А, я не реализовал индексы)
Впилить легко
Чекай ctx.params.path на '/' и отдавай index.html

Peter
13.06.2017
09:28:22
Как в joi убрать параметры с пустыми строками?

Alexander
13.06.2017
09:34:20
А, я не реализовал индексы)
завелось вот так:
router.get('/', async (ctx) => {
await send(ctx, ctx.path, { root: path.join(__dirname, '../build/index.html') });
});
router.get('/assets/:path*', async (ctx) => {
await send(ctx, ctx.path, { root: path.join(__dirname, '../build/') });
});

Margarita
13.06.2017
10:03:21
Ребят, у меня тут вопрос будет, от совсем новичка ))
В общем, у меня есть фронт сайта, на сайте есть форма
Есть небольшой сервер на ноде, который слушает порт и который получает данные из формы

Yaroslav
13.06.2017
10:04:28
Маргарита, у меня тоже вопрос. Зачем вам програмирование?)

Google

Margarita
13.06.2017
10:04:44
Чего я не могу понять (я извиняюсь заранее за тупость вопроса): как мне на локальной машине запустить фронт и собственно сервер, чтобы оно все вместе заработало?))
На данный момент я собираю фронт галпом и запускаю в браузере через браузер синк на 3000 порту

Aleksey
13.06.2017
10:05:36

Margarita
13.06.2017
10:06:20
Код будет приблизительно вот такой: https://ru.stackoverflow.com/questions/477533/%D0%9A%D0%B0%D0%BA-%D0%BF%D0%B5%D1%80%D0%B5%D0%B4%D0%B0%D1%82%D1%8C-%D0%B8-%D0%BF%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8C-%D1%84%D0%BE%D1%80%D0%BC%D1%83-%D0%BD%D0%B0-%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-node-js
Свой вариант я пишу)

Таймураз
13.06.2017
10:06:36

Margarita
13.06.2017
10:06:45
Прикольно
А это примерно как? xD (я вообще FE, которому по несчастливой случайности приходится написать кусок бека, а я как-то не очень умею)

Таймураз
13.06.2017
10:07:42
FE?

Alexander
13.06.2017
10:07:52
front-end поди

Таймураз
13.06.2017
10:07:53
А, тьфу

Yaroslav
13.06.2017
10:07:54
Фронт на чем написан, как обращается к серверу?

Таймураз
13.06.2017
10:08:05
Да, торможу

Konstantin
13.06.2017
10:08:16
зачем прокся? повесить их на разные порты и юзать

Aleksey
13.06.2017
10:08:20
https://expressjs.com/en/starter/static-files.html

Таймураз
13.06.2017
10:08:36