Задать вопрос
Контакты

Достижения

Все достижения (1)

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

Все теги (11)

Лучшие ответы пользователя

Все ответы (6)
  • Как в real-time показывать добавлений комментарий?

    @pasutavitaliy
    :)
    Глобально в вашем случае - нет разницы между выводом комментрия к посту всем кто на странице и выводом сообщения в чате всем кто в нем сейчас состоит. Поэтому примеры с чатами вполне подойдут.
    А логика примерно следущаяя:
    1) На сервере создать сокет сервер, который будет слушать по некому урлу:порту
    var express = require('express');
    var app = express();
    var io = require('socket.io')(http);
     http = require('http').Server(app);
     http.listen(yourPort, yourUrl, function () {
            console.log('App listening at http://%s:%s', yourUrl, yourPort);
            io.on('connection', function(socket){...}

    2) На клиенте подключится к этому урлу:порту
    socket = io.connect(yourUrl:yourPort, {secure: true, forceNew: true});

    3) На клиенте слушать некое событие из сервера. Например назовем его onCommentAdd
    socket.on('onCommentAdd', function(msg) {
            yourFuncToAddCommentInHTMLDOM(msg)
     });


    Где на месте msg будет вся необходимая информация с сервера о комментарии

    4) На сервере когда вы выполнили сохранение в базу комментария вызовите emit метод екземпляра вашего io c нужными параметрами. Примерно так
    Socket.emit('onCommentAdd', {author: "Vova", date: "1454576067", "text": "Azazazaza lalka" });


    В принципе это все, если всё сделаете правильно, то на клиенте получите новый коммент.
    Надеюсь, это поможет
    Ответ написан
    1 комментарий
  • Как лучше организовать тестирование nodejs typecript приложения?

    @pasutavitaliy
    :)
    Привет.
    Структура. В моем текущем проекте мы эксперементировали и с папкой 'test' отдельно для тестов, и с файлами тестов в одной папке с исходниками. И командой пришли к выводу, что для нас второй вариант выглядит лучше. Так как у нас микросеврисная архитектура, то сами приложения маленькие и нет необходимости создавать отдельные папки для одного - двух файлов (например models, controllers etc).

    707938d10dd74cdf85ba6e4a3265d70c.png

    Если у вас монолитное приложение с кучей файлов и папок, то я бы выбрал вариант с папкой `test`.
    Инструменты для тестирования: mocha (фрейморк для тестирования), chai (ассерт либа), sinon (для spies, stubs, mocks), istambul (для code coverage).
    Ответ написан
    3 комментария

Лучшие вопросы пользователя

Все вопросы (1)