Выбираем состав изоморфных React-приложений на следующие 12 месяцев

в 15:58, , рубрики: boilerplate, eslint, javascript, node.js, npm, ReactJS, redux, starter kit, webpack

Друзья, уже шесть часов вечера, последний понедельник августа, а это значит — последняя неделя лета. Давайте подведём итог и немного пофантазируем?

Сейчас формируем некий Isomorphic React App бойлерплейт на следующие 12 месяцев, с которым можно быстро стартовать новые проекты. Пока видим такой набор:

1. React 15.
2. На сервере — Node.js и Express.
3. CSS modules и isomorphic-style-loader для автоматической генерации Critical CSS при Server-side Rendering. Или всё-таки JSS?
4. Redux для взаимодействия внутри приложения. Или всё-таки Relay?
5. Модульное тестирование через AVA и Enzyme. Или всё-таки Jest с его автоматической генераций mock-объекта Browser?
6. UI-тестирование через Nightwatch.js + Browserstack.
7. Переводы через react-intl и react-intl-translations-manager.
8. Автоматическое определение языка на сервере через пакет accept-language.
9. Автоматическое определение геопозиции через пакеты maxmind и ipaddr.js.
10. Изоморфный логгер на базе node-bunyan.
11. react-document-title для динамического переключения заголовка вкладки.
12. isomorphic-fetch для отправки HTTP-запросов (“AJAX”).
13. webpack 1.x для сборки. Или всё-таки webpack 2?
14. webpack-dev-server и webpack/hot/dev-server для Hot Module Reload.
15. Long-term Caching статических ресурсов (например: /assets/logo-8cdab5da.png).
16. parallel-webpack для ускорения сборки JavaScript bundle для каждого языка перевода (например: 5 разделов и 10 языков = это уже 50 JavaScript bundles).
17. webpack DllPlugin для оптимизации размера JavaScript bundle.
18. react-router-redux в качестве роутера.
19. ESLint и eslint-config-airbnb с небольшим изменением — не использовать точку с запятой.

Какие пункты можно изменить? Какие добавить? Что можно сделать лучше? Поделитесь своим мнением в комментариях.

В ближайшие дни список может измениться. Да, что там, я обещаю — он изменится, поэтому следите за обновлениями на GitHub.

Автор: DenisIzmaylov

Источник

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js