habr-appReact tutorial for Habrahabr

联合创作 · 2023-09-23 00:03

React isomorphic / universal front-end application with authentication tutorial for HabraHabr


Эта ветка соответствует состоянию приложения из третьей части статьи для Хабрахабра


Состояние приложения из первой части можно найти в ветке v1


Состояние приложения из второй части можно найти в ветке v2


React Tutorial


Я написал цикл из трех статей для habrahabr, который поможет новичкам собрать стек React-приложения с нуля, добавляя шаг за шагом различные библиотеки и компоненты с полным пониманием того, что и зачем делается. К концу третьей части статьи получается сайт, который ничем не отличается от существующих крупных и успешных проектов с точки зрения архитектуры и механизмов работы с пользователями и внешними информационными системами.


Ключевые слова



  • react

  • redux

  • isomorphic / universal web-application

  • server-side rendering

  • authentication

  • omniauth

  • API

  • node.js


Установка и запуск



  1. Устанавливаем зависимости



npm instal



  1. Запускаем серверную часть



npm run nodemon



  1. Запускаем webpack-dev-server, который будет отдавать клиентские js, css и другие ресурсы



npm run webpack-devserver


Приложение будет доступно по адресу http://localhost:3001 Внимание: для корректной работы необходимо, чтобы nodemon и webpack-dev-server были запущены одновременно!


Содержание


Первая часть



  • Создаем node.js приложение

  • Добавляем express и пишем заготовку для серверной части изоморфного приложения

  • Добавляем и настраиваем babel

  • Добавляем webpack, пишем конфиг сборки клиентского JavaScript

  • Добавляем eslint и определяем требования к исходному коду

  • Добавляем react и react-dom

  • Создаем компонент "Hello World"


Вторая часть



  • Добавляем react-bootstrap и создаем общий layout приложения

  • Создаем несколько страниц

  • Добавляем react-router и настраиваем навигацию для сайта

  • Добавляем redux и учимся работать с состоянием


Третья часть



  • Добавляем redux-devtools

  • Добавляем redux-oauth и реализуем аутификацию

  • Реализуем взаимодействие с внешними источниками данных

  • Добавляем запросы к API в server-side rendering


Copyright


Yury Dymov, 2016.

浏览 8
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报