Репозиторий Sailor-Storefront DEPRECATED
Мы решили построить новую витрину, начиная с нуля, без причудливого дизайна, сосредоточенного исключительно на лучших практиках для строительства торговых витрин. Новый проект, называемый React-Storefront, использует Next.js в качестве своего фундамента и ветра для внешнего вида. Вы можете найти его здесь: https://github.com/saleor/react-storefront.
Saleor Storefront

Примечание. Этот проект является демонстрацией того, как можно использовать Saleor. Это не готово быть стартером, а скорее показывать, как можно рассматривать разные случаи, и можно использовать в качестве книги рецептов. Будут нарушенные изменения, и код постоянно развивается, поэтому используйте свой собственный риск.
PWA, PWA, одностраничная приложений для Saleor.
Функции
- Безголованая магазин электронной коммерции, построенная с GraphQL, Apollo Client, React, Next.js и TypeScript
- Режим автономного линии (бета)
- Интеграция API API Saleor GraphQL
- Опыт применения на одном страницах
- Интеграция платежного шлюза Braintree
Демо
Смотрите общественную демонстрацию Saleor Storefront!
Или запустите демонстрацию на бесплатном экземпляре Heroku.
Начиная
Эти инструкции дадут вам копию проекта и работают на местной машине для разработки и тестирования.
Предварительные условия
- Node.js 14.16
- Бегущий экземпляр Saleor.
Чтобы запустить Storefront, вы должны установить переменную среды NEXT_PUBLIC_API_URI , чтобы указать на API Saleor GraphQL. Если вы используете Saleor локально, с настройками по умолчанию, NEXT_PUBLIC_API_URI установлен на: http://localhost:8000/graphql/ . Чтобы изменить его, либо создайте файл .env.local и добавьте его там, либо установите переменную ENV, используя команду export .
Установка
Клонировать репозиторий:
git clone https://github.com/mirumee/saleor-storefront.git
Введите каталог проекта:
Используя стабильный релиз
Чтобы использовать официальный стабильный релиз, загляните в тег релиза:
Смотрите список всех релизов здесь: https://github.com/mirumee/saleor-storefront/releases/
Использование версии разработки
Если вы хотите использовать последнюю версию разработки, загляните в master Branch:
Установите зависимости NPM:
Запустите сервер разработки:
Перейдите на http://localhost:3000 чтобы получить доступ к магазине.
Строить
Чтобы скомпилировать запуск приложения:
Для составления приложения и экспорта магазина в статический HTML -прогон:
Чтобы скомпилировать приложение и запустить его в режиме производства со следующим сервером.
Чтобы включить Apollo Devtools в производственной версии, установите переменную окружающей среды
NEXT_PUBLIC_ENABLE_APOLLO_DEVTOOLS=true
Cypress Tests
Если вы хотите запустить тесты Cypress, убедитесь, что все зависимости (включая Cypress ) установлены путем запуска команды установки.
Следующие переменные среды должны быть установлены для правильного запуска тестов:
-
API_URI - API API GRAPHQL. -
STATIC_URL - URL -адрес назначения статических файлов, например, S3 ведро -
CYPRESS_USER_NAME - имя пользователя (электронная почта) для пользователя Storefront . -
CYPRESS_USER_PASSWORD - для пользователя, упомянутого выше.
Если вы запускаете магазин с точки зрения контейнера Docker , вы можете запустить тесты, используя следующие команды:
Режим без головы:
Cypress UI режим:
Если вы хотите запустить тесты против вашей местной среды разработки, то используйте следующие команды:
Режим без головы:
Cypress UI режим:
Создание новых компонентов
Все новые компоненты должны следовать рекомендациям по атомной конструкции и размещаться в каталоге src/@next/components .
Структура файлов может быть сгенерирована с помощью plop :
Изменение магазина
Из Spectrum post
Важные файлы
- Saleor -StoreFront/config/next/config.base.js - Base Next.js Config File, который содержит настройки WebPack.
- Может изменить имя приложения (отображается при установке на мобильном телефоне)
- Saleor -Storefront/SRC/Pages/ App .tsx - Основной файл точки входа. Приведен компонент, Apollo-Client и другие в корневой div в файле index.html выше. Содержит также раздел Head - вы можете изменить заголовок Storefront здесь.
- Saleor -Storefront/SRC/Core/config.ts - Управление количество продуктов, показанных на странице, поддержка электронной почты, поставщики шлюза, социальных сетей и некоторых мета.
- Может изменить электронную почту поддержки
- Может изменить продукты, показанные на странице
- Может изменить поставщиков шлюза
- Может изменить ссылки на социальные сети, которые отображаются в нижнем колонтитуле
- Может изменить некоторые варианты мета
- Sailor -Storefront/SRC/Images/ - Содержит все изображения для логотипа, корзины, любимого и т. Д.
- Можно изменить логотип Storefront, Favicon или добавить новые изображения здесь.
- Saleor -StoreFront/SRC/GlobalStyles/SCSS/Variables.Scss - содержит базовые стили, такие как цвета, размер шрифта, ширина контейнера, точки отдыха в СМИ и многое другое.
- Saleor -Storefront/SRC/@Next/GlobalStyles/ - Содержит больше базовых стилей, тем, медиа и константов.
- Saleor -Storefront/SRC/Views/ - Эта папка управляет представлениями или то, что отображается для каждой страницы. У большинства представлений есть файл с именем «page.tsx», который управляет макетом страницы, и файл с именем «view.tsx», который вызывает запрос и видно компонент с данными.
- Можно добавить еще один вид в магазин здесь. Требуется добавление маршрута (см. Маршруты ниже).
- Saleor -StoreFront/SRC/@Next/Pages/ - Второе место для изменения/добавления различных страниц. Это рекомендуемый каталог для добавления новых страниц.
- Saleor -Storefront/src/paths.ts - эта папка содержит все пути. Здесь вы добавляете новый.
- Saleor -Storefront/SRC/Pages/ - Эта папка содержит файлы, которые переведены на next.js маршрутизацию. Вот где вы добавляете новый маршрут.
- Экспортируйте новый путь в пути.
- Внутренние страницы создайте новый файл с именем Correnspond для вашего желаемого маршрута (подробнее здесь о вложенных маршрутах). Импортируйте свое представление в созданный файл маршрута End Export его в качестве экспорта по умолчанию.
- Чтобы ссылаться на вашу новую
import Link from "next/link" и используйте новый путь, который вы создали в Paths.ts (обязательно импортируйте)
- Saleor -StoreFront/SRC/App/App.tsx - это основной компонент, который отдает (объясняется ниже) и пару других компонентов.
Добавление платежного шлюза
- Saleor -StoreFront/SRC/Core/config.ts - Добавьте новое имя провайдера Gateway здесь.
- Saleor -StoreFront/SRC/@Next/Components/Organims/ - Создайте новую папку для нового компонента платежного шлюза здесь.
- Saleor-storefront/src/@next/components/organisms/paymentgatewayslist/paymentgatewayslist.tsx - Импорт новый компонент шлюза, создайте новый корпус переключателя для обработки вашего компонента шлюза.
Получение подтверждения электронных писем
- Установите переменную среды Email_url для Caleor Core.
- Использование Docker - добавить email_url в качестве новой переменной среды как к API, так и в службу работников после формата здесь.
- Проблемы получают электронные письма?
- Gmail
- Проверьте, что «менее безопасный доступ к приложениям» включен. В разделе «Управление своей учетной записью Google»> перейдите на вкладку «Безопасность». По умолчанию настройка выключена по соображениям безопасности.
- При использовании 2FA обязательно установите пароль приложения и используйте его вместо обычного пароля входа в систему.
Многоканальный
- SET [saleor_channel_slug] переменная среды. - Значение по умолчанию:
default-channel .
Лицензия
Этот проект лицензирован по лицензии BSD-3-CLAUSE-см. Файл лицензии для получения подробной информации
Создано с ❤ Saleor Commerce
[email protected]