whoisYeshua / graphql-webinar

Исходники для вебинара по GraphQL

Home Page:https://graphql-webinar.vercel.app

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ВВЕДЕНИЕ

GraphiQL Playground

Требования

  • Node.js - можно скачать его с официального сайта, ставим версию 18.18.X и выше или 20.11.X и выше (LTS). Это потребуется для запуска сборщика. Можно проверить установленную версию, написав команду node -v в терминале \ консоли.
  • npm - он должен установиться вместе с Node.js . Потребуется для установки модулей и запуска скриптов. Можете проверить установленную версию, написав команду npm -v в терминале \ консоли.
  • Git

Установка

  1. Склонируйте (нужен git) или скачайте репозиторий:
git clone https://github.com/whoisYeshua/graphql-webinar
  1. Перейдите в папку
cd graphql-webinar
  1. Установите зависимости через npm:
npm i

Запуск

Пропишите в терминале \ консоли:

npm start

Структура проекта

backend

Пакет Описание
@graphql-webinar/bd 'БД' для проекта
@graphql-webinar/graphql-server GraphQL-сервер для проекта
@graphql-webinar/rest-server REST-сервер для проекта

frontend

Пакет Описание
@graphql-webinar/frontend frontend-часть для проекта

Прочие команды

Запуск GraphQL-кодгена для frontend в watch режиме:

npm run codegen:watch -w frontend

Запуск GraphQL-сервера и frontend:

npm run start:gql

Запуск REST-сервера и frontend:

npm run start:rest

Запуск в watch режиме (пересборка + исполнение):

npm start:rest

Сборка пакетов:

npm run build

Graphql Client Preset

Поставить сам пресет

npm i -D @graphql-codegen/client-preset -w frontend

Вставить в ./graphql.config.json frontend -> extensions -> codegen -> generates:

"./frontend/src/api/graphql/": {
  "preset": "client",
  "plugins": { "add": { "content": "/* eslint-disable */" } },
  "config": {
    "enumsAsTypes": true,
    "useTypeImports": true
  },
  "presetConfig": {
    "fragmentMasking": false
  }
}

About

Исходники для вебинара по GraphQL

https://graphql-webinar.vercel.app


Languages

Language:TypeScript 95.6%Language:JavaScript 3.3%Language:HTML 1.1%