Давайте разберемся, что здесь происходит.
Во-первых, нам требуются необходимые пакеты. Довольно стандартный материал.
Затем мы определяем константу под названием animals
. Это наши статические данные, пока мы не настроим базу данных.
Мы также создаем наши резолверы. На данный момент мы определяем их в нашем индексе, но разберем их позже.
Резольверы в основном сообщают серверу, как получить нужную информацию из ваших данных или как поместить информацию в ваши данные. Единственное, что мы здесь определяем, — это getAllAnimals
которое просто возвращает константу animals
которую мы определили ранее.
Затем мы устанавливаем ApolloServer
. Мы должны передать наши typeDefs
из нашей schema.graphql
. Это может быть немного сложно. Мы должны прочитать наш файл схемы с помощью readFileSync
из пакета Node fs
. Различные версии Node могут обрабатывать это по-разному, так что будьте осторожны! Мы также передаем сюда наши резолверы.
Наконец, мы вызываем сервер и приказываем ему прослушивать активность. По умолчанию это порт 4000 на локальном хосте, но вы можете настроить его по своему усмотрению! Просто укажите соответствующий порт для функции listen ()
. Например, example (3000)
для размещения приложения на порту 3000!
Теперь вы можете запустить сервер из каталога node-backend
запустив node src / index.js
!
Если вы откроете браузер и перейдете к localhost: 4000
вы увидите заставку для запроса вашего сервера.