Задать вопрос

Как организовать большой single page application?

Мне нужно написать клиент для колл центра, аппликация с большим количеством виджетов, таблиц, и тд. Я хочу использовать для нее react, redux, webpack. Но я незнаю как организовать модульность и динамическую загрузку модулей. Я думал о том, чтобы сделать общий layout и через iframe загружать различные виджеты и тд, которые являются отдельными redux аппликациями, а для синхронизации state использовать localstorage, возможно это можно сделать по другому?
  • Вопрос задан
  • 3317 просмотров
Подписаться 31 Оценить 6 комментариев
Решения вопроса 2
norlin
@norlin
iframe'ы однозначно плохой вариант – скорее всего, огребёте много неожиданных проблем + технологически это явный костыль.
Ajax уже давно можно спокойно использовать в любых браузерах: подгружайте нужные модули, вставляйте в нужные места. Модульность внутри кода обеспечивается CommonJS (requirejs) модулями.
Ответ написан
Посмотрите динамические роутеры: https://github.com/rackt/react-router/blob/latest/...
И динамическую загрузку в webpack https://webpack.github.io/docs/code-splitting.html
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
@Roman_Kh
Есть несколько вариантов динамической загрузки модулей.

Например, можно разместить каждый компонент в отдельном файле, но в конце вместо exports вставлять компонент в глобальный скоуп браузера.
var SomeComp = React.createClass({
   ...
})

window.SomeComp = SomeComp

И затем в другом файле вы легко можете сослаться на этот компонент:
...
  render(){
      ...
     <SomeComp ... />
     ...
  }

Правда, при таком подходе придется вручную реализовать динамическую загрузку скриптов. Впрочем, это не очень сложно, да и есть готовые решения.

Но лучше всего воспользоваться webpack loaders. Тем более, что они как раз и созданы для вашей задачи.
Ответ написан
ImLoaD
@ImLoaD
Программист
Почему Вам не использовать Angular?
Ответ написан
iCoderXXI
@iCoderXXI
React.JS/FrontEnd engineer
Обратите внимание на Ember.JS, порог вхождения высокий, но оно того стоит.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
Rocket Смоленск
от 80 000 до 130 000 ₽
Wanted. Москва
от 250 000 до 400 000 ₽
Wanted. Санкт-Петербург
До 220 000 ₽
22 янв. 2025, в 04:08
6000 руб./за проект
21 янв. 2025, в 23:55
20000 руб./за проект
21 янв. 2025, в 23:35
80000 руб./за проект