Svelte — это современный фреймворк JavaScript для создания пользовательских интерфейсов. В отличие от традиционных фреймворков, таких как React или Vue, Svelte переносит большую часть работы на время компиляции, создавая высокоэффективный код, который обновляет DOM напрямую. Это приводит к более быстрым приложениям с меньшим количеством шаблонного кода.
Контейнеризируем приложение Svelte с помощью Docker и Docker Compose. Такая настройка обеспечивает согласованную среду, упрощая управление и развертывание приложения.
Создание приложения Svelte
Если вы еще не настроили приложение Svelte, вы можете создать его с помощью следующих команд:
npx degit sveltejs/template my-svelte-app cd my-svelte-app npm install
Создание Dockerfile
В корневом каталоге приложения Svelte создайте файл Dockerfile
, чтобы определить среду, в которой будет работать ваше приложение.
# Use an official Node.js runtime as a parent image FROM node:16-alpine # Set the working directory inside the container WORKDIR /usr/src/app # Copy package.json and package-lock.json COPY package*.json ./ # Install dependencies RUN npm install # Copy the rest of the application code COPY . . # Build the Svelte app RUN npm run build # Expose the port the app runs on EXPOSE 5000 # Start the app CMD ["npm", "run", "start"]
Создание Docker Compose
Создайте docker-compose.yml
файл в корне вашего проекта для определения и управления многоконтейнерными приложениями Docker.
version: '3.8' services: svelte-app: build: . ports: - "5000:5000" volumes: - .:/usr/src/app - /usr/src/app/node_modules environment: NODE_ENV: development
Сборка и запуск Docker-контейнеров
Теперь, когда у вас настроены файлы Dockerfile и Docker Compose, вы можете создавать и запускать свои контейнеры.
Запустите контейнер:
docker-compose up
Создайте образ Docker:
docker-compose build
Теперь ваше приложение Svelte должно работать внутри контейнера Docker и быть доступным по адресу http://localhost:5000
.
Доступ к приложению и его тестирование
Откройте веб-браузер и перейдите по адресу http://localhost:5000
. Вы должны увидеть работающее приложение Svelte.
Любые изменения, внесенные вами в код приложения, будут автоматически отражены внутри контейнера благодаря сопоставлению томов, указанному в файле docker-compose.yml
.