Подготовка¶
Какие обычно стоят задачи из области "роутинга"?
- Доступ к разным "страницам/разделам" - а если быть точным, к разным состояниям приложения, так как мы разрабатываем SPA (single page application - одностраничное приложение). Для простоты продолжим употреблять слова страница/раздел и подобные.
- Разделение прав доступа: гости не могут зайти на страницу "/admin", а администратор может.
- Редиректы.
- 404 страница
Предлагаю сделать очень примитивный музыкальный каталог:
- есть список всех жанров
- есть страница релиза (в нашем случае - "трэка/песни")
- есть страница релизов данного жанра
Структура сайта¶
/ - главная страница /list - список жанров /genre/:genre/ - список релизов данного жанра /genre/:genre/:release - информация о релизе /admin - страница администратора
Если в URL-адресе есть параметр (двоеточие + слово) значит такой адрес является динамическим. То есть, может быть таким: /house/release/avicii-the-nights
, где house
- музыкальный жанр, а avicii-the-nights
- название релиза.
P.S. в реальном мире, релиз может содержать больше одного трэка. Пример настоящего релиза - здесь.
Начальная структура директорий и некоторых файлов¶
+-- bin +-- src | +-- components | +-- containers | +-- index.js +-- webpack +-- index.html +-- package.json +-- server.js