Создание проекта с ReactJS. Подключение и сборка пакетов через NodeJS. Запуск девелоперского сервера с автообновлением UI. Деплой фронтенда через Docker.
- 00:00:24 Что такое ReactJS
- 00:01:40 Установщик Creat React App
- 00:04:05 Подключение NodeJS через Docker
- 00:05:39 Установка проекта с React
- 00:08:19 Обзор файлов проекта
- 00:09:39 Тюнинг gitignore и dockerignore
- 00:10:46 Удаление команды eject
- 00:11:45 Разделение dependencies
- 00:12:34 Очистка Service Worker
- 00:13:32 Файлы JSX
- 00:14:59 Добавление frontend-init в Makefile
- 00:16:48 Проверка работы
- 00:19:46 Разделение конфигураций Nginx
- 00:22:44 Запуск девелоперского node-сервера
- 00:23:54 Проксирование из Nginx на node-сервер
- 00:25:43 Проверка работы
- 00:27:53 Отложенный запуск сервера по готовности
- 00:30:40 Добавление depends_on
- 00:31:24 Проверка работы make init
- 00:32:57 Перенос верстки на React
- 00:34:25 Создание production-образа Docker для деплоя
- 00:38:06 Добавление кэширования ресурсов в браузере
- 00:40:40 Вынос компонента Welcome
- 00:43:20 Использование локальных стилей компонентов
Скрытый контент (код, слайды, ...) для подписчиков.
Открыть →Чтобы не пропускать новые эпизоды подпишитесь на наш канал @deworkerpro в Telegram
Спасибо!
Спасибо.
Добрый день. А можете как - то рассказать принципиальные отличия React от Vue или Angular? Почему в этом проекте используется именно React? В интернете мнений по этому поводу много, но все же хочется и Ваше услышать. Чем React лучше?
Почему используем React рассказали в конце второго эпизода. А именно что React является не фреймворком, а только минимальной библиотекой для построения интерфейсов. Angular из себя предоставляет большой полноценный фреймворк. А в Vue немного больше магии. React архитектурно проще.
Здравствуйте, будем ли рассматривать TypeScript ? Очень бы хотелось )
Хорошо, добавим.
Спасибо.
https://blog.codeexpertslearning.com.br/dockerizando-uma-aplica%C3%A7%C3%A3o-react-js-f6a22e93bc5d
Добрый вечер Дмитрий! Дошёл до этого этапа. Решил запустить тесты бэкенда с покрытием, выдало ошибку:
https://i.imgur.com/jzX6vP1.png
Видимо в PHPUnit 9.1 нужно указывать в
@covers
класс с неймспейсом.Это только для случая с React yarn start запускается на 3000 порту? Я поставил Vue, пишет 404.
Вроде тоже должен быть на 3000.
Как лучше пройти курс? Сейчас устанавливается дефолтом 17я версия реакта и в index.js уже не serviceWorker , а reportWebVitals, уже появились сложности, к примеру не обновляется страница при изменении css. Будет ли в дальнейших видео обновление, или лучше взять ваш package.json?
Еще какая последовательность была выхода этих уроков и "Что есть React: Пишем свой UI-фреймворк"? Мне показалось, что они связаны.
Урок как всегда супер. Спасибо.
Если делаете реальный проект, то ставить свежие версии и адаптироваться под них.
Если же хотите просто повторить материал, то тогда при установке указывать именно версии пакетов как у нас в
composer.json
иpackage.json
. Потом мы со временем всё постепенно обновляем.Да, перед работой с React здесь мы специально отвлеклись на «Что есть React».
Дмитрий, хотел уточнить : - мы специально отвлеклись на «Что есть React». Т.е. после этого видео была запущена серия «Что есть React» ?
После 43-го.
Спасибо.
Не работает лайфРелоад. (commit Added frontend ready flag 27.03.2020) Смотрю логи ошибок нет, контейнеры запущены. В браузере:
и предупреждение:
Я пробовал, как с новым реактом , так и со старым.
Еще странная вещь, не работает анимация - лого не вращается.
Подскажите куда копать?
Попробовал сейчас на свежем коде из последнего коммита. Релоад работает без проблем. Может
yarn upgrade
когда-то помог.Для информации , может кому пригодится.
Мне удалось победить данную проблему, но пришлось сделать yarn eject и установить руками:
без этого webpack не видит изменений в файлах, если их меняnm на хосте (в IDE) .
На следующем уроке всё ломается :) Пришлось сделать такой костыль:
У меня заработало так в default.conf и frontend.conf: location /ws вместо location /sockjs-node И главное в docker-compose.yml
Спасибо, тоже сработало, а где об этом нашли? что-то в доках node и nginx не вижу..
Хочу дополнить. Если подключится к контейнеру на прямую и редактировать код, то сообщение об изменениях не отправляются в браузер. Сборка Реакта как бут-то их не видит.
Доброе время суток всем! Кто может подсказать как просматривать консольные ошибки hot_reload сборки во фронтенд контейнере? Спасибо!
Все сообщения в консоли можно смотреть в реальном времени через:
Отлично, то что нужно, спасибо!
Добрый день.
Вместо React установли в проект Angular. При "Build" в Jenkins получаю такие ошибки
Это связано с нехваткой памяти на сервере или в самой сборке проекта?
Возможно
Пока нашёл вот такие рекомендации
Как я понимаю тут выделяется дополнительная память для node.js. Но есле на сервере всего 1gb это не поможет?
Добрый день, Дмитрий.
Пытаюсь поставить React с версией node:17-alpine.
В самом начала получаю ошибку
Не могу понять, где именно нужно поменять права доступа?
Полный вывод в консоли
Если ставить с версией node:13-alpine или node:14-alpine ошибки нет, проект устанавливается.
Попробовать запустить через
npx
:Добрый вечер.
Я так и запускал и получал ошибку прав доступа.
В общем проблема решилась добавлением флага --user node
Как я понял это в новых версиях требуется, node > v.14
Но до конца проблему не решило. Сначала просто в не запускался контейнер. Заглянул в логи контейнера с node:17-alpine, там такая ошибка:
Удалил yarn.lock и node_modules, пересобрал образ, появилась следующая ошибка:
Окончательное решение проблемы это создания образа из node:16-alpine, всё работает как положено.
Можно дальше изучать Ваши уроки.)
До этого урока я упорно сидел на винде ))) Но т.к. в винде на примонтированных volume-ах не кидаются события файловой системы, соответственно не будет нормально работать node сервер отслеживающий изменения кода. А билдить каждый раз долго. Придется переползать на Линукс.
https://docs.microsoft.com/en-us/windows/wsl/install
Возможно, поможет watchOptions в webpack https://webpack.js.org/configuration/watch/#watchoptions
Почему выбрали yarn в качестве пакетного менеджера? Чем плох npm?
Лично встретил проблему, что на компьютере с Ubuntu+Docker и ноутбуке с MacOS+Docker в том же проекте NPM генерировал разные несовместимые
package-lock.json
файлы. В нём командаnpm install
может в любое время изменять этот файл. А для запуска на ссборочных серверах авторы сделали отдельную командуnpm ci
.С Yarn таких неожиданностей нет. Там
yarn.lock
работает идеально какcomposer.lock
Спасибо за выпуск, Дмитрий!!
Или войти через: