You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Масштабирование до большого количества файлов и компонентов;
Использование сторонних библиотек из npm;
Раннее обнаружение распространённых ошибок;
Отражение изменений CSS и JS на лету в процессе разработки;
Оптимизация кода для продакшена.
Начинаем данный проект, используя Create React App
npxcreate-react-appplantbook
Все остальные манипуляции будут в plantbook
cdplantbook
Данный шаблон является стартовым, поэтому добавляем в него все необходтмые изменения:
в папку src добавляем папку components, в ней будут находиться все компоненты нашего одностроничного приложения
в папку src добавляем папку styles, в ней будут находиться стили нашего приложения
в корне создали файл Dockerfile
# Multi-stage# 1) Node image for building frontend assets# 2) nginx stage to serve frontend assets# Name the node stage "builder"FROM node:14-alpine AS builder
# Set working directoryWORKDIR /app
# Copy all files from current directory to working dir in imageCOPY . .
# install node modules and build assetsRUN yarn install && yarn build
# nginx state for serving contentFROM nginx:alpine
# Set working directory to nginx asset directoryWORKDIR /usr/share/nginx/html
# Remove default nginx static assetsRUN rm -rf ./*
# Copy static assets from builder stageCOPY --from=builder /app/build .
# Containers run nginx with global directives and daemon offENTRYPOINT ["nginx", "-g", "daemon off;"]