Ответы пользователя по тегу JavaScript
  • Как организовать MVC на клиенте?

    PiCoderman
    @PiCoderman
    Не стоит пытаться применять MVC на сервер, так как в первую очередь это паттерн для тех приложений, в которых непосредственно есть пользовательский интерфефс. По крайней мере так написано на википедии, и я полностью с этим согласен.

    Если вы уже решили, что у вас будет SPA(Single Page Application), то скорее всего(в большинстве случаев) и M, и V, и C будут у вас в SPA.

    Например:
    M - это данные бизнес логики вашего приложения(Инфа о пользователе, товарах, постах, контенте), иными словами - все те данные, которые имеют значение не для текущего клиента, а для всего продукта в целом. Такие вещи обычно суют в Redux, MobX или аналоги. Также существуют данные, необходимые для конкретного клиента, например информация о том, открыто ли боковое меню приложения. Такие данные нужно хранить отдельно от основной модели. Например в стейте React компонентов.
    V - это представление(view) вашего пользовательского интерфеса. V - это просто штука, которая рисует интерфес на основе M. Как правило это обычно React, Vue (частично Angular).
    С - Это логика взаимодействия с приложением через пользовательский интерфес. Для React это например может быть реализовано с помощью Thunk, Saga, но может выходить и за их пределы. C в процессе обработки пользовательских действий может обновлять M, выполняя запросы к API сервера.

    И сам сервер, и его API не имеют отношения к MVC клиента. Да и вообще в принципе(ссылаясь на википедию) не должны иметь отношения к MVC.

    Архитектура серверной части и все что там происходит - это уже отдельная задача, и судя по вашему вопросу даже не ваша.

    Я так осторожно ссылаюсь на википедию, потому что существуют например PHP фреймворки, которые также используют терминологию MVC. Но тут нужно понимать, что там это немного другое, так как при использовании PHP фреймвороков, часто интерфейс генерируется прямо на сервере. И соответственно они и называют некоторые вещи V и используют "MVC" "на сервере".
    Ответ написан
    Комментировать
  • Как заставить webpack делать source maps для lazy loading компонентов React?

    PiCoderman
    @PiCoderman Автор вопроса
    В output.sourceMapFilename не нужно ничего указывать. Тогда будут карты для всех скриптов
    Ответ написан
    Комментировать
  • Как принять $_POST массив?

    PiCoderman
    @PiCoderman
    Формируйте строку для отправки : из массива [1, 2, 3, 4, 5] в строку "1:2:3:4:5". А на сервере уже разбивайте на переменные или в массив пихайте.
    Ответ написан
    Комментировать
  • Как динамически обновлять страницы без перезагрузки в jQuery?

    PiCoderman
    @PiCoderman
    Не совсем понял, но вроде вам нужно jQuery Ajax. Погуглите. А вообще $.post("адрес обращения", { post переменные }, function(data){ data - возращаемое значение })
    Ответ написан
    Комментировать
  • SoundManager 2 не может воспроизвести более 5 аудио?

    PiCoderman
    @PiCoderman Автор вопроса
    Короче сам спросил, сам ответил. Нужно было просто "удалить ID"
    soundManager.destroySound('ID');
    И заново создать. Правда есть минус - то что уже загрузилось стирается, но мне норм.
    Ответ написан
    Комментировать
  • Из-за чего прыгает страница?

    PiCoderman
    @PiCoderman
    Может там решоточка стоит в конце ссылки?#
    Ответ написан
    Комментировать
  • Как правильно указать пути к файлам?

    PiCoderman
    @PiCoderman
    Если в самом начале написать ../ то этот путь будет начинаться из самого первого каталога. Не там где файл,в котором вы указываете путь, а в главной папке. Обычно это вот так: Site.ru/. То есть ../test == site.ru/test
    Ответ написан
    Комментировать
  • Какой аудио плеер можно поставить на сайт, чтобы работал во всех браузерах и в частности в Safari?

    PiCoderman
    @PiCoderman
    Не понимаю зачем тег Ajax. Советую soundManager. Очень удобный, много примеров. Основанная документация на английском, но очень все понятно. Есть события, списки воспроизведения. Использую только его. В основном требует только mp3 точно не помню.
    Ответ написан