@nodejs_ru

Страница 868 из 2748
Дмитрий
12.06.2017
19:03:26
Зачем что-то еще
Потому что koa банально удобнее

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
Просто странно как-то, по логике, при подключении клиент-сокет должно в консоль вывести + зарегать пользователя и добавить в бд, после чего через сокет сообщает юзернейм. Но, в логе нет сообщения о подключении и в бд ничего не изменилось

Ну и при старте сервера монга сообщает о подключении, а в тесте нет этого сотбщения, только выкидывает, что сервер слушает и сокет

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
на 41ой строке done откуда?
Походу дико ступил. it('title', done => { // code done(); }) Так должно быть?

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
router.use('/assets/:path*', ctx => send(ctx, ctx.params.path, { root: config.dataFolder }));
а подскажи пожалуйста, config.dataFolder какой путь содержит?

Admin
ERROR: S client not available

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

Таймураз
13.06.2017
08:33:39
а подскажи пожалуйста, config.dataFolder какой путь содержит?
полный путь к той папке, откуда хочешь дергать файлы

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 порту

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

Страница 868 из 2748